
Eller så ansluter du en redan programmerad enhet till den som ska programmeras och vips.... överförs datan. (med hjälp av lite styrsignaler).
Mitt resonemang ovan gällde ju vid 8-bitars data. Nu ska du ha 16 bitar x 250 000/sek, det blir dubbla hastigheten. 0.5 Mbyte/sek. Så det blir i praktiken 40 instruktioner per byte. Lite snålt men borde inte vara något problem egentligen.jesse skrev:Hastigheten är inga problem - vid läsning klarar de minst 50 Mbit/sekund. När man skriver till minnet kan det ta längre tid. Den har SOIC-8 kapsel så rent fysiskt är den smidig.
Det enda du behöver är en processor som kör SPI och skyfflar ut data på lämpligt sätt , exempelvis seriellt till en DAC, då kan du kanske klara dig med en 8-pinnars processor också.
Skriver man koden i assembler bör det gå att få ut data i 250 kbyte/sek.
(vid 8 Mhz klocka har du 32 instruktioner per skickad byte och om du kör 20 KHz (som är Max för de flesta Atmel's 8-bitars AVR) så får du hela 80 instruktioner på dig att läsa ett tecken och sedan skicka det.
Ja, den parallella lösningen är klart enklast. Det mesta av hårdvaran (på kortet) blir densamma, men vi måste köpa en ny programmerare för 10 kSEK.Icecap skrev:Alltså finns det kvar den parallella lösningen, det ger en tid mellan varje utläsning på 2µs vid dubbla frekvensen vilket är enkelt att klara av.
Jag har faktiskt ingen uppfattning om hur lång tid det tar att skriva till epromen vi har idag. Om skrivhastigheten är samma för flash skall det ta 8 ggr så lång tid om man använder 4M x 16.Icecap skrev:Att bygga in en bank med SPI-minnen är inget större problem med 8M words kommer som bäst att ta runt 15 minuter med 19.200 baud mellan PC och programmeringsenhet, alltså vill en minnesbank med programmeringsdata löna sig och priset är lågt i detta sammanhang..
Prisuppskattning?Icecap skrev: Om du vill kan jag hjälpa till med detta via företaget.
...priset är lågt i detta sammanhang.
Jag tror knappast att detta duger. MP3 funkade i alla fall inte.baron3d skrev:Om du istället läser data i t.ex. 62,5kHz så kan du översampla signalen 4ggr, och fortsätta att mata ut med 250ksp.
För att översampla behöver du bara interpolera mellan avlästa värden. Linjär interpolering är väl ok, kubisk interpolering ger ett bra resultat.
På detta sätt vinner du 4ggr så lång uppspelningstid.