Ontwerpen met discrete flash is 1/10de de kosten, maakt gebruik van een veel kleinere form factoren vereist aanzienlijk minder gespecialiseerde hardware dan met SD flash cards.
Dit Instructable zal u tonen hoe 1MB discrete externe flash-geheugen toevoegen aan uw project van de microcontroller met wat mijns inziens de minste hoeveelheid inspanning mogelijk. Dit is ook een vervolg op mijn andere twee data-logging Instructables (een anemometer en een 3-as pols versnellingsmeter), die hoe uitlegt te downloaden van de gegevens van het Registreerapparaat flash-geheugen met behulp van eeuwenoude TTY opdrachtregel toepassingen gevonden in Linux.
Motivatie
Wanneer ik ben het opbouwen van een Atmel ATMega of Arduino project en ik recordgegevens moet, ik bijna altijd bereiken voor een enkele SPI WinBond W25Q80BV 1MB flash-chip in plaats van een SD flash subsysteem. Vele redenen bestaan om te kiezen van een discrete flash chip over een SD-subsysteem, en vice versa, en zult u moeten overwegen deze compromissen voor uw ontwerp. Onderstaande lijst bevat een paar nadelen die ik denken als ik nodig om te beslissen of ik wil één 8-pins DIP chip of een full-on SD oplossing gebruiken:
Complexiteit van de hardware (Kies: Discrete)
Een manier om toe te voegen SD flash om een Arduino systeem is het gebruik van een schild, zoals deze door het Seeed Studio (drie ' e) kocht ik bij mijn lokale Radio Shack voor $15. Hoewel shields gemak voor prototyping bieden, hebt de eindproductie vergadering mogelijk niet het budget of de ruimte te nemen SD hardware. Een 8-pins duik pakket van een discrete flash-chip is veel gemakkelijker te laten vallen op een protoboard dan een SD-schild, ervan uitgaande dat je board ontwikkeling zelfs ondersteunt een schild.
Complexiteit van de software (Kies: Discrete)
De SD flash subsysteem is meestal afhankelijk van de SDFat16/32-bibliotheken. Terwijl de apparaten een SPI interface zijn, is het zinvol gebruik van vet, aangezien elke PC/MAC kan dan het lezen van deze kaart. Deze bibliotheken zijn groot en kostbare EEPROM ruimte op kleinere ingesloten domeincontrollers kunnen duren. Compatibiliteit en integratie in uw omgeving bouwen mogelijk belangrijke debug. De software die nodig is om te rijden een discrete flash-chip met een SPI interface is triviaal en zeer klein, zoals je binnenkort zult zien. Misschien zegt dit meer over mij dan de bibliotheken van de SDFat, maar ik vind ze omslachtig om mee te werken.
Capaciteit & draagbaarheid (Kies: SD)
SD flash wint ruim hier, gewoon pop in een grotere capaciteit SD-kaart in de bestaande ontwerpen zonder wijzigingen. Discrete SPI flitser heeft lagere dichtheid limieten in de 8-pins DIP-indeling. De SDFat bibliotheek betekent dat elke PC/MAC kan het lezen van de bestanden op de kaart.
Kosten (Kies: Discrete)
SD-kaarten variëren in prijs dramatisch, en met een SD flash schild, je instellen kunt terug $20-$30. WinBond 1MB chips kost ongeveer $2 uit Mouser of Digikey.
Macht (Kies: Discrete)
Energiebehoefte van flash, is afhankelijk van de fabrikant, productielot apparaat dichtheid en procestechnologie. SD-kaarten zijn meestal hogere macht van de lekkage als gevolg van de hogere dichtheden en hogere dynamische macht als gevolg van de toegang van de hogere snelheden. De chips van de WinBond die ik op in dit Instructable richten vereist zeer weinig macht, 6uW stand-by 60mW pagina programma en 60mW chip wissen. Ik was niet in staat zijn macht om gegevens te vinden op de high-end supersnelle SD-kaarten, maar de schrijfsnelheid is ongeveer 100 x die van de WinBond. Aangezien dynamische kracht evenredig met de frequentie is, kan ik me niet voorstellen macht zou minder.
Snelheid (Kies: SD)
Ik heb geen behoefte aan zeer snel flashgeheugen schrijfprestaties, maar SD flash komt in vele verschillende product-SKU's gebaseerd op snelheid vooral te wijten aan (de eisen van de digitale fotografie) en het gebruik van raw afbeeldingsformaten. De WinBond SPI chips niet echt vergelijken: pagina programma snelheid is 0.7ms voor 256 bytes, wat zich vertaalt naar 0.360 MB/s, oftewel 100 x trager dan Team Corp's snelste Micro SD kaarten bij ~ 40 MB/s. Ik vermoed dat zij hebben meerdere apparaten of matrices schrijven in parallel om deze snelheden te bereiken.
Terwijl deze analyse waarschijnlijk mijn eigen luie vooroordelen vertegenwoordigt, vind ik mijn merk van luiheid als nogal productief. Dat gezegd zijnde, om het even wie van deze vectoren kan worden belangrijker voor uw project, maar mijn doel hier is om te bellen uit de compromissen, en vervolgens illustreren de eenvoud van deze prachtige flash-chip. (En ik heb niet zelfs besproken met behulp van grotere capaciteit parallelle flash chips.)