Forum: Mikrocontroller und Digitale Elektronik Umstieg, lohnt es sich,


von Michael D. (etzen_michi)


Lesenswert?

Guten Tag.

Es gibt hier jede Menge Fragen bzgl. Aufwand beim Umsteigen innerhalb 
von Atmel, aber irgendwie finde ich darin keine große Hilfe bei meinen 
Fragen.
Nun mein Problem:

Ich habe vor ein Projekt zu realisieren bei welchem der Chip nicht 
größer als 7x7mm sein darf-sollte (kaum Platz, will kein größeres 
Gehäuse, da darin der Reiz liegt).
Dieser Chip soll unteranderen:
Ein Display, Zwei 16Bit D/A Wandler, eine SD-Karte und ein Funkmodul 
GLEICHZEITIG ansprechen.
Desweiteren bevorzuge ich es wenn der Chip nebenbei noch ein wenig 
Leistung über hat, sodass ich nicht in Engpässe komme.
*Gesamtes System läuft über 3,3V, arbeite mit C.

Aktuell arbeite ich mit den normalen ATmegas, weswegen ich zuerst den 
ATmega644 im Blick hatte:
20MHz, kleines Gehäuse, viel Speicher.

Dann habe ich mal nachgerechnet und bin darauf gekommen dass die 
Leistung wohl recht eng werden könnte sobald mein Code ein wenig 
ineffizient ist.

Also habe ich mal rumgesucht und bin auf zwei weitere Chips gestoßen:
ATXmega16A4 / D4 und AT32U3B1512

ATXmega:
Hat eine höhere Taktrate mit 32MHz

AT32:
Hat eine noch höhere Taktrate mit 60MHz, ewig Speicher und arbeitet auf 
32Bit. (Gedacht höhere Rechengeschwindigkeiten.)

Dann natürlich wieder rumgeguckt was man dazu findet und dann hieß es:
"Warum nimmt man einen AT32 anstellen eines ARM, sind doch das gleiche 
nur das der ARM günstiger ist."
Bei den ARM habe ich dann aber nichts gefunden, woran ich mich halten 
würde, da ich den AT32 auch nur aufgrund des 16Bit DA-Wandlers mit in 
die Liste genommen habe, da ich mir somit den externen spare.


Nun meine Frage(n):
-Findet ihr den Umstieg sinnvoll?
-Würdet ihr direkt Umsteigen oder erstmal testen ob das auch mit den 644 
machbar ist? -Ist natürlich Frustierend wenn man alles reinbekommen hat, 
dann aber nicht ausreichend Leistung
-Hat jemand erfahrungen bzgl. schwierigkeiten beim Einstieg/Umstieg in 
die Xmega oder AT32 Familie?


Vielen Dank

von Bernd S. (Gast)


Lesenswert?

Für "gleichzeitiges" Bedienen, also um einem menschlichen Benutzer 
Gleichzeitigkeit vorzugaukeln braucht man ja nicht viel Rechenleistung.

Spezifiziere doch einmal Datenraten, ansonten klingt Display, Funk, 
DA-Wandler, SD-Karte nicht sonderlich spektakulär.

von Jobst M. (jobstens-de)


Lesenswert?

Michael D. schrieb:
> Ein Display, Zwei 16Bit D/A Wandler, eine SD-Karte und ein Funkmodul
> GLEICHZEITIG ansprechen.

Das mache ich mit einem ATmega48 mit 1MHz.

Du solltest vielleicht Deine Anforderungen etwas detailierter 
schildern. Siehe auch http://www.mikrocontroller.net/articles/Netiquette


Gruß

Jobst

von Michael D. (etzen_michi)


Lesenswert?

Ohh ... ja habe ein paar Angaben vergessen.

Das Signal für die zwei 16Bit D/A Wandler soll eine Abtastrate von 
~44,1kHz haben (Audiowiedergabe).
Diese Daten liegen auf der SD Karte und müssen von da gelgesen und ggf. 
sogar leicht decodiert werden.

Nebenbei soll man weiterhin im Menue rumwursteln können, wodurch auch 
Bilder von der Karte gelesen werden würden (96x64Pixel bei 16Bit) und 
über SPI auf einem Display dargestellt werden.
Wichtig ist mir hierbei das beim Aufbau des Display Inhaltes keine 
Großen Wartezeiten / Ruckeln in der Wiedergae auftreten.

Die Daten für das Funkmodul werden nichts sehr Großartig sein, hierbei 
handelt es sich um die Übermittlung welche Aktionen gerade ausgeführt 
werden / werden sollen.

von Ralph (Gast)


Lesenswert?

Achso , du willst als Audio files abspielen.
Etwa auch noch MP3 decoding von Hand implementieren ?

von Michael D. (etzen_michi)


Lesenswert?

Ob es am Ende wirklich auch MP3 decoding wird muss ich schauen ob ich 
das Hinbekomme. Als erstes würde mir .wav reichen.

von Ralph (Gast)


Lesenswert?

Such dir einen kleinen Cortex Mx ( ARM ) aus. der wird sich dann 
allerdings langweilen.

von Michael D. (etzen_michi)


Lesenswert?

Michael D. schrieb:
> Dann natürlich wieder rumgeguckt was man dazu findet und dann hieß es:
> "Warum nimmt man einen AT32 anstellen eines ARM, sind doch das gleiche
> nur das der ARM günstiger ist."
> Bei den ARM habe ich dann aber nichts gefunden, woran ich mich halten
> würde, da ich den AT32 auch nur aufgrund des 16Bit DA-Wandlers mit in
> die Liste genommen habe, da ich mir somit den externen spare.


Werde mich mal weiter über den ARM informieren ... am liebsten währe mir 
aber dennoch der AT32, da dieser die benötigten D\A Wandler bereits 
Onboard hat.

von Jobst M. (jobstens-de)


Lesenswert?

Mit mp3 geht unter 'nem ARM nichts. 60MHz ist dabei aber auch schon 
Oberkante-Unterlippe. Vor allem habe ich den Eindruck, daß Du nicht viel 
Erfahrung damit hast. Da wird es dann noch enger.

Ohne mp3 nur WAV von SDC wird nur etwas auf 'nem AVR, wenn er 2x SPI 
besitzt.
(Oder 1x SPI und die von Dir aufgeführten DACs)

Das Ganze dann noch mit ordentlichem Timing, wird in C vermutlich 
nichts.
Also ASM.

Oder ein >200MHz ARM. Evtl. mit Linux. Wird dann aber nichts auf 7x7mm.

Evtl. könnte ein FPGA Deine Aufgabe lösen.


Gruß

Jobst

von Michael D. (etzen_michi)


Lesenswert?

Sicher das es soo eng wird?
Hier hat es jemand mit max 20MHz geschafft.
http://elm-chan.org/works/sd8p/report.html

von Jobst M. (jobstens-de)


Lesenswert?

Michael D. schrieb:
> Hier hat es jemand mit max 20MHz geschafft.

Der DAC erfüllt nicht seine Anforderungen und wo ist das Display?


Gruß

Jobst

von Michael D. (etzen_michi)


Lesenswert?

Mein Gedanke ist:

Mit 20MHz bekomme ich das Display als einzelnes ohne Probleme hin.
Dort hat jemand mit 20MHz das Auslesen der Daten und Wiedergabe per PWM 
geschafft.

Wenn meine Wiedergabe nun doppelt so rechenintensiv währe hätte ich 
immernoch ausreichend Leistung für das Display über.

(AT32 fällt wohl weg wegen zu großer Außenbeschaltung).

von Tobi (Gast)


Lesenswert?

Der AT32 kriegt die MP3 Dekodierung locker weg dank des DSP Instruction 
Sets. Mein "MP3 Player" läuft mit 33MHz und streamt MP3 vom USB Stick, 
gleichzeitig kann ich im grafischen Menü durch die Playlist gehen und 
scrolle ein kleines Icon (das Cover vom Album) zu jedem Dateinamen. Ich 
hab mir dazu das EVK1105 zum Evaluieren geholt. Die Software war schon 
fast fertig, es gibt eine "USB Audio player" Demo im Atmel Studio 6 im 
Software Framework. Wenn man auf ein neues Example Projekt klickt, das 
EVK1105 als Kit wählt, ist in der Liste auch ein Audio Amplifier Demo, 
hab ich aber noch nicht getestet.

Von Atmel gibt es inzwischen eine Digital Audio Platform und ein neues 
Kit dazu, ich überlege mir ob ich mir es nicht auch kaufe:
http://store.atmel.com/PartDetail.aspx?q=p:10500303;c:100113
>>>>
Evaluation Kit for Atmel AVR AT32UC3A0512AU demonstrating Atmel's 
state-of-the-art AVR UC3 microcontroller in Hi-Fi audio decoding and 
streaming applications, including applications that carry an Atmel 
licensed Audio firmware IPs.

The kit demonstrates the Atmel AVR AT32UC3A0512AU microcontroller in 
Hi-Fi audio decoding and streaming applications. The kit contains 
reference hardware and software for playing MP3 files from mass storage 
devices.

It is also capable of executing Atmel licensed Audio firmware IPs.
<<<<

Mein nächstes Projekt wird ein WLAN MP3 Player sein, es gibt für den 
AVR32 Support von H&D Wireless und Redpine WLAN module, ich weiß aber 
noch nicht welchen von denen ich nehme - Module sind normalerweise nicht 
ganz billig

von Frank K. (fchk)


Lesenswert?

Michael D. schrieb:
> Ohh ... ja habe ein paar Angaben vergessen.
>
> Das Signal für die zwei 16Bit D/A Wandler soll eine Abtastrate von
> ~44,1kHz haben (Audiowiedergabe).
> Diese Daten liegen auf der SD Karte und müssen von da gelgesen und ggf.
> sogar leicht decodiert werden.

Du könntest einen dsPIC33FJ128GP802 (28 Pin) oder dsPIC33FJ128GP804 (44 
Pin) nehmen. Beide haben einen Stereo Audio DAC, der per DMA gefüttert 
werden kann, sind 16-Bitter, haben eine 40 Bit DSP-Einheit für digitale 
Filter etc und laufen mit 80 MHz intern.

fchk

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.