Designa med diskret SPI Flash minne
Designa med diskreta flash är 1/10th kostnaden, använder en mycket mindre formfaktornoch kräver betydligt mindre specialiserade hårdvara än med SD flash-kort.
Detta Instructable visar dig hur du lägger till 1MB diskret extern blixt minne i projektet mikrokontroller med vad jag anser vara minst möjliga ansträngning. Detta är också en fortsättning till min andra två dataloggning Instructables (en vindmätare och en 3-axlig handled accelerometer) som förklarar hur du hämtar data från logger flashminnet med urgamla TTY kommandoradsprogram i Linux.
Motivation
Varje gång jag bygger en Atmel ATMega eller Arduino projekt och jag behöver spela in data, jag nästan alltid nå för en enda SPI WinBond W25Q80BV 1MB flash chip snarare än ett SD flash-undersystemet. Finns många skäl för att välja en diskret flash chip över ett SD undersystem, och vice versa, och du måste du överväga dessa kompromisser för din design. Listan nedan innehåller några kompromisser jag tänka på när jag måste bestämma om jag vill använda ett 8-pin DIP chip eller en full-on SD lösning:
Hårdvara komplexitet (Välj: diskret)
Ett sätt att lägga till SD flash till en Arduino system är att använda en sköld, som denna av Seeed Studio (tre "Ekbergs) jag köpte på min lokala Radio Shack för $15. Medan sköldar ger bekvämlighet för prototyptillverkning, kanske slutproduktion församlingen inte har budgeten eller utrymme att inkludera SD hårdvara. En 8-stifts DIP paket med en diskret flash chip är mycket lättare att släppa på en protoboard än en SD sköld, förutsatt att din utveckling styrelse även stöder en sköld.
Programvara komplexitet (Välj: diskret)
Delsystemet SD flash bygger vanligen på SDFat16/32 bibliotek. Enheterna är ett SPI gränssnitt, är det klokt att använda fett eftersom någon PC/MAC kan sedan läsa detta kort. Dessa bibliotek är stora och kan ta upp värdefulla EEPROM plats på mindre inbäddade styrenheter. Kompatibilitet och integration i din bygga miljö kan kräva betydande debug. Den programvara som krävs för att driva en diskret flash chip med en SPI gränssnitt är triviala och mycket liten, som du kommer snart se. Kanske säger det mer om mig än de SDFat biblioteken, men jag hittar dem omständligt att arbeta med.
Kapacitet & portabilitet (Välj: SD)
SD flash vinner stora här, bara pop i en större kapacitet SD-kort i den befintliga design utan ändringar. Diskret SPI flash har lägre densitet gränser i formatet 8-pin DIP. SDFat biblioteket innebär någon PC/MAC kan läsa filerna på kortet.
Kostnad (Välj: diskret)
SD-kort varierar i pris dramatiskt, och med ett SD flash sköld, kan ställa dig tillbaka $20-$30. WinBond 1MB chips kostar ca $2 från råttfångare eller Digikey.
Power (Välj: diskret)
Energibehov av flash beror på tillverkaren, produktionsparti, enhet densitet och processteknik. SD-kort är normalt högre läckage driver tack vare den högre täthet, och högre dynamisk effekt på grund av den högre tillgången hastigheter. WinBond marker jag fokusera på i detta Instructable kräver mycket lite ström, 6uW standby, 60mW programmet och 60mW chip radera. Jag kunde inte hitta ström data på high-end supersnabba SD korten, men skrivhastigheten är ca 100 x som WinBond. Eftersom dynamiska kraften är proportionell mot frekvensen, jag kan inte föreställa mig makt skulle vara mindre.
Hastighet (Välj: SD)
Jag har inte haft något behov av mycket snabbt flash-minne skrivprestanda, men SD flash kommer i många olika produkt SKU baserat på fart mestadels på grund av (krav av digital fotografering) och användning av raw bildformat. WinBond SPI marker kan inte riktigt jämföra: sida program hastighet är 0.7ms för 256 byte, som översätts till 0.360 MB/s, vilket är 100 x långsammare än Team Corp snabbaste Micro SD-kort på ~ 40 MB/s. Jag misstänker att de har flera enheter eller matriser skriver parallellt för att uppnå de hastigheterna.
Medan denna analys sannolikt representerar min egen lata fördomar, hitta jag min märke av lättja vara ganska produktiv. Detta sagt, en av dessa vektorer kan vara viktigare för projektet, men mitt mål här är att ropa ut kompromisser, och sedan illustrera enkelheten i detta underbara flash chip. (Och jag har inte ens diskuterat med större kapacitet parallella flash chips.)