Hallo zusammen,
ich habe mich zwar eingelesen, wollte aber noch einmal sichergehen:
Ich habe einen AVR µC, den ich mit einer SD-Karte füttern will. Die
Platine ist auf der einen Seite in einem Gehäuse, die SD-Karte soll
jedoch an einer anderen Stelle eingesteckt werden können.
Wenn ich die Anschlüsse auf der Platine herausführe und dann mit einem
Flachbandkabel mit dem SD-Karteadapter verbinde. Dabei sind zwischen
jeder der Leitung für SPI einmal eine Leitung, die auf GND gelegt ist.
Der Abstand zwischen Platine und Kartenslot wird 15cm - 25cm sein.
Dies sollte doch kein Problem darstellen, oder?
Hallo!
Also vom Gefühl her geht das ohne Probleme. Im schlimmsten Fall musst du
eben den Takt reduzieren. Aber so wahnsinnig hoch wird der hoffentlich
nicht sein. :-)
Nun ja, kommt darauf an...
In der Minimalanforderung ca. 500-600 kBit/s. In der Maximallösung wären
bis zu 2 MBit/s notwendig.
Die Minimallösung muss in der Lage sein, Audio (mp3, wma, aac, ...) von
SD zu lesen (beim Puffern wäre evtl. mehr Geschwindigkeit praktisch).
Die Maximallösung wäre in der Lage, gleichzeitig Audio und ein Video
(320x240 bei 16 bpp @ 25Hz) auszulesen. Das Video wäre dabei
unkomprimiert auf der Karte.
>In der Minimalanforderung ca. 500-600 kBit/s. In der Maximallösung wären>bis zu 2 MBit/s notwendig.
Welcher AVR soll die 2 Mbit/s schaffen? Ein ATXmega oder ein AVR32?
>Die Minimallösung muss in der Lage sein, Audio (mp3, wma, aac, ...) von>SD zu lesen (beim Puffern wäre evtl. mehr Geschwindigkeit praktisch).
Das schafft ein ATMega32 locker. Da braucht es keine 600kBit/s.
WENN ein Decoder dran hängt der mp3,wma,aac abspielen kann.
>Die Maximallösung wäre in der Lage, gleichzeitig Audio und ein Video>(320x240 bei 16 bpp @ 25Hz) auszulesen. Das Video wäre dabei>unkomprimiert auf der Karte.
320 x 240 x 2 x 25 ergibt 3.84MB/s. Nichts was ein AVR schaffen könnte.
Du vergisst, daß der Chip nicht ununterbrochen Daten überträgt und dass
auch der AVR nicht ununterbrochen Daten empfängt.
Du kannst nicht einfach davon ausgehen, ein 128kBit MP3 File mit 128khz
Takt übertragen zu können. Da ist eine erheblich höhere nötig, insofern
finde ich die 2Mbit durchaus sinnvoll.
Ich schätze, daß 2Mbit mit 20cm Kabel funktionieren werden. Ggf kann man
mit Widerständen die Signaqualität nich ein wenig verbessern. Ich würde
es aber erstmal ohne Tricks versuchen.
Mein AVR Programmer arbeitet auch mit rund 1Mbit und 30cm Kabel ohne
Probleme.
>Du kannst nicht einfach davon ausgehen, ein 128kBit MP3 File mit 128khz>Takt übertragen zu können. Da ist eine erheblich höhere nötig, insofern>finde ich die 2Mbit durchaus sinnvoll.
Und wo sollen die 2MBit/s herkommen? Er sagt ja nicht welchen AVR
er benutzt. Ein ATMega644 mit 20MHz Takt schafft nur 10MHz SPI Clock.
Das wären dann maximal 1.25MB/s. Theoretisch.
>Ich schätze, daß 2Mbit mit 20cm Kabel funktionieren werden. Ggf kann man>mit Widerständen die Signaqualität nich ein wenig verbessern.
Mein MI0283QT-2 320x240 Display läuft an einem STM32F4 Discovery
gut mit 10cm Freiluftleitungen. SPI Clock 41MHz.
Nun ja, keine Ahnung, was ich gestern gerechnet habe, aber 2 MBit sind
es nie und nimmer. Hatte irgendwie 1,5MBit für das Video, aber das war
wohl Bockmist.
Wie ich so eine Übertragung realisieren würde kann ich nicht sagen, da
ich noch in der Planungsphase bin und noch nie SD-Karten benutzt habe.
Das ich 3, 4 oder gar mehr MBit nicht mit einem AVR (AT90 @ 16 MHz)
alleine schaffe ist mir auch vollkommen klar. Mir ging es vor allem
darum, wie weit ein SD-Slot mit Kabeln von der Platine entfernt werden
kann.
Sollte wirklich Video implementiert werden, so muss irgendeine Schaltung
her, die die Daten schneller von der SD-Karte schaufelt und der AVR dann
direkt ein oder zwei Bytes auf einmal mit einem Befehl zum Display
schicken.
Mich ärgert es gerade auch, dass ich meinen Sprung zu ARM noch nicht
vollzogen habe. Bei dem Display wäre das bestimmt sehr praktisch... Aber
ich kann mich einfach nicht entscheiden, welcher günstig im Einstieg
(Programmer) und im Unterhalt (µC-Preise + Vogelfutter) ist und dann
auch noch lange unterstützt wird.
Francis schrieb:> Mich ärgert es gerade auch, dass ich meinen Sprung zu ARM noch nicht> vollzogen habe. Bei dem Display wäre das bestimmt sehr praktisch... Aber> ich kann mich einfach nicht entscheiden, welcher günstig im Einstieg> (Programmer) und im Unterhalt (µC-Preise + Vogelfutter) ist und dann> auch noch lange unterstützt wird.
Die JTAG-Debugschnittstelle ist standardisiert. Bei den Cortex gibts
zusätzlich SWD, was mit weniger Pins auskommt. Besorge Dir einen Segger
JLink, der funktioniert gut.
Nicht-Cortexe (ARM7, eigentlich auch ARM9) solltest Du eigentlich nicht
mehr nehmen. Die Wahl zwischen den Herstellern entscheidest Du anhand
der benötigten Peripherie. Einen eingebauten TFT-Controller hat zB der
NXP LPC1788.
fchk