Forum: Mikrocontroller und Digitale Elektronik ARM7 richtige Wahl?


von Thomas Kusch (Gast)


Lesenswert?

Hallo!

Ich suche fuer ein neues Projekt den passenden Prozessor. Dabei bin ich
ueber den ARM7 gestolpert, bin mir aber nicht sicher, ob die Wahl i.O.
ist. Ich wuerde mich ueber Eure Meinung freuen.

Beruflich entwickele ich an Embedded Systemen mit SH2 und SH3 und im
Privaten mit AVRs.

Das Szenario ist folgendes:
MC soll anhand Daten vom I2C-Bus bis zu drei Samples (8-bit, mono,
mind. 15kHz) aus dem Speicher lesen, einen einzelnen Kanal in Tonhoehe
verschieben und alle drei ausgeben.

Loesungsansatz:
-Samples liegen in einem externen seriellen Flash (256kB-1MB)
-Die Tonhoehe des ersten Kanals wird ueber die PWM-Frequenz geregelt.
-Die anderen beiden Kanaele werden zusammenaddiert und ueber einen
zweiten PWM mit konstanter Samplingfrequenz ausgegeben.
-Die Signale der PWMs werden extern ins Analoge gewandelt und
miteinander vermischt.

Meine befuerchtung ist, dass die AVRs damit ueberfordert sind, obwohl
es meine erste Wahl wegen einfachem Handlig, kurzer Entwicklungszeit
und geringen Kosten waere. Mein Augenmerk faellt z.Zt. auf den ARM7 als
die bessere Wahl, habe mit diesem bisher aber keinerlei Erfahrungen
gemacht.

Was meint ihr dazu?

Danke und Gruss,
Thomas

von Philipp Sªsse (Gast)


Lesenswert?

Soweit ich das überblicke, kann ein ARM7 hier seine Vorteile gar nicht
ausspielen; ein AVR sollte den ganzen 8-Bit-, I2C- und PWM-Kram ebenso
gut können. Oder gar besser.

von Jens D. (Gast)


Lesenswert?

Hmmh schwer zu sagen, lass uns doch einmal rechnen..
ein AVR hat eine IO Clock von 16 bzw ein paar wenige mit 20MHz.
Das hiesse pro Sekunde 16(20) Cycels.
bei 15kHz musst du ja 15000 mal dein Programm Durchlaufen lassen.
Kleine Rechnerei:
16 000 000 / 15 000 = 1066Cycels Pro Sample oder
20 000 000 / 15 000 = 1333Cycels Pro Sample

macht mindestens 213 Befehle pro Sampel (Ich meine der längste Befehl
braucht 5 Cycels)
oder im Maximalfall eben 1066Befehle.

Nun bist Du gefragt, wie gut du in ASM bist :D und wie schnell dein
externes Sram arbeitet..

Evtl koenntest du einen ATMEGA mit externer Speichererweiterung
nutzen.

Viel Glück

von Jens D. (Gast)


Lesenswert?

@Philipp Sªsse
Das einzige, was ist, er ist schneller :D mit deinen 50 Mips ;D oder
waren es sogar 55

von Thomas Pototschnig (Gast)


Lesenswert?

Bei der Speicheranforderung von 256kb bis 1MB wird das mit dem AVR nix
mehr. Außer man macht ein Bankswitching per Software, was alles aber
noch verlangsamt.

@Thomas Kusch: Das ist doch ein ideales Einsteigerprojekt um sich mit
Controllern der ARM-Familie vertraut zu machen. Und damit erweiterst du
gleich deine Toolbox, damit du in Zukunft noch anspruchsvollere Sachen
machen kannst, die mit dem AVR sicher nicht mehr gehen.

Es ist halt nur ein Problem: Den Speicher den du brauchst kriegst du
nur bei ARM7 mit externen Memory Interface - z.B. LPC2214. Die SAM7S/X
haben das alle nicht, der SAM7A hat ihn zwar, ist aber noch sehr schwer
erhältlich. Also wird's wohl ein Phillips werden. Das Speicherinterface
ist zwar auch anspruchsvoll, sehe es aber als eine kleine persönliche
Herausforderung und du wirst sehen, du wächst mit dem Projekt :-)

von Thomas Kusch (Gast)


Lesenswert?

Hallo!

@Thomas: ein Speicherinterface ist grundsaetzlich kein Problem. Beim
AVR haette ich ein serielles Dataflash genommen. Beim entsprechend
dicken ARM paralleles. Aus der SH2/3-Welt ist es mir gelaeufig.

Mein Dilema ist mehr folgendes: das Produkt soll in Kleinserie (20-50
Stueck) zu einem niedrigen Preis. Bestueckung erfolgt von Hand.
Folglich entfallen fuer mich alle ARMs mit 0.5mm Pitch.DIL-Boards sind
zu teuer (meine Schmerzgrenze liegt bei 10-12Euro). Dann bleibt nur
noch der Philips PLCC, der jedoch recht mager ist (und AFAIK noch nicht
erhaeltlich).

Die Alternativen, die ich jetzt sehe sind:
-PLCC mit seriellen Flash
-"Multi"-AVR-Loesung  (pro Kanal ein AVR.. zeimliches gemurkse)
-eine Eingebung, auf die ich noch warte :)

@Jens: das wird mehr als knapp.. auf ASM keine Lust wegen Wartbarkeit
und Entwicklungsdauer.

danke!
Thomas

von Michael P. (Gast)


Lesenswert?

Oder halt doch noch einen anderen Prozessor nehmen.
Zum Beispiel:

56F801 von Motorola oder ähnliche aus der Familie

oder

dsPIC von Microchip

mit dem 56F801 habe ich meine Diplomarbeit erschlagen ist mit inerenem
Flash und benötigt nur ein paar Cs und einen Quarz als externe
Beschaltung. Programieradapter kann man selber bauen und limitierte
Software gibts umsonst. Codegröße ist beschränkt. Geschwindigkeit müßte
locker reichen.

Mfg Michael

von Thomas Pototschnig (Gast)


Lesenswert?

0,5mm ist kein großes Problem zum Löten, wenn man mal den dreh raushat.
Es gibt bei www.ulrichradig.de sogar ein nettes Video wie man es schön
machen kann. Also davor nicht abschrecken lassen!

Was anderes fällt mir dann leider auch nicht ein. Eventuell müsste man
das wirklich ausprobieren ob der AVR reicht. Ich denke mal, eine kleine
Testschaltung ist gleich aufgebaut, weil nicht viel drauf ist und wenn
du den GCC verwendest, ist der Code relativ portabel und kann zur Not
auf eine neue Platform recht schnell portiert werden. Also: erstmal
ausprobieren und wenns nicht geht, kannst du mit relativ wenig Aufwand
noch umsteigen.

von Jens D. (Gast)


Lesenswert?

Hmmh hat CSD nicht die SAM7 fuer unter 9EUR?

von Lupin (Gast)


Lesenswert?

wo hat radig eigentlich seine ARMe her? ich hab noch keine lpc22xx in DE
gefunden

von Dietmar (Gast)


Lesenswert?

Gibt es doch überall, z.B. hier:

http://www.sander-electronic.de/be00061.html

von Thomas Pototschnig (Gast)


Lesenswert?

Die sind ja sogar bei segor.de nur halb so teuer :-)

von Thomas Kusch (Gast)


Lesenswert?

Hallo!

Danke!

Es gibt viel zu tun:
-Loeten ueben :)
-AVRs Grenzen ausloten (wollte sowieso machen)
-den 56F801 und dsPIC anschauen (habe bisher PICs bis 16-Famlie
verwendet)

Gruss
thomas

von Christian G. (Gast)


Lesenswert?

Noch'n Tip: http://elm-chan.org/works/vp/report.html

Der macht Pitchshifting bei 32ksps auf einem Tiny26 (inklusive
DRAM-Ansteuerung). Das ist doch, was dein Projekt hauptsächlich tun
soll, oder?

Gruß, Christian.

P.S.: Das nächste mal würde es auch nur ein Thread tun.

von Lupin (Gast)


Lesenswert?

schade, den LPC2220 gibt es nirgends... und die anderen sind ja meist
mit mindesabnahme. Also auch nicht das wahre :(

Wo ich schon dabei bin dumm rum zu fragen - Wo bekomme ich günstige
Adapterplatinen (möglichst <10 euro)?

von Robert Teufel (Gast)


Lesenswert?

Hallo Leute,

ich weiss der Digikey ich maechtig amerikanisch (so ein Katalog steht
hier in in jedem Lab) aber er hat klasse Preise, ausgenommen die
Versandkosten wenns denn mal nur ein Baustein sein soll. Sie verlangen
eine Bearbeitungsgebuehr von 13 Euro fuer Bestellungen unter 100 Euro
Warenwert und noch 18 Euro Versandkosten. Nicht gerade billig aber wenn
es ein paar Bausteine mehr sein duerfen z.B. 5-10 oder 25, da werden sie
billiger, dann ist Digikey definitv einen Klick wert!

http://dkc1.digikey.com/de/digihome.html
Dort gibt es auch den LPC2220 fuer schlappe 7,20 Euro!

Auch all die anderen Typen kosten nur die Haelfte verglichen zu Sander
Elektronik oder Segor.

Also mit einbeziehen in euere Anbietersuche, lohnt sich!

Robert

von Andreas Dörr (ADoerr) (Gast)


Lesenswert?


von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Robert, auch wenn Du jenseits des "großen Teiches" lebst, weißt Du
vielleicht doch auch, wie es bei Digikey-Käufen mit dem Importzoll
aussieht - der kann auch noch so attraktive Preise recht gut zunichte
machen.
Und wer schon mal das Paketzollamt in Berlin erlebt hat, der hat schon
mal etwas noch lebloseres als einen Friedhof gesehen ... wenn ich's
vermeiden kann, will ich da nie wieder hinmüssen.

Also: Wie wird das mit dem Importzoll bei Digikey geregelt?

von Andreas Dörr (ADoerr) (Gast)


Lesenswert?

Die Preise enthalten schon den Zoll aber noch keine MwSt.

von peter dannegger (Gast)


Lesenswert?

Ich gehe mal davon aus, daß Digikey Deutschland alle Zollfragen bereits
erledigt hat:

http://de.digikey.com/


Peter

von Gerrry Weber (Gast)


Lesenswert?

Ca eine Woche nach der Lieferung von DIGIKEY erhälst du von UPS eine
Rechnung mit der fälligen EINFÜHRUMSATZSTEUER. Ist i.d.R. immer 16%, ab
und zu gibts mal kleine Abweichungen, wenn deren Taschenrechner mit XP
läuft. Dann hast ein paar Tage Zeit umm den Betrag zu überweisen.

von peter dannegger (Gast)


Lesenswert?

Ic denke mal die PWM kannste vergessen.

Bei 15kHz muß die PWM ja 256 fach höher sein, damit Du sie mit einem
RC-Tiefpaß auf unter 1/256-tel (= 1LSB) dämpfen kannst also 15kHz * 256
= 3,84Mhz.
Um nun 3,84Mhz bei 8 Bit zu erreichen, muß der PWM-Takt also 3,84MHz *
256 = 983MHz sein und das schafft weder der AVR noch der ARM.


Peter

von Hans (Gast)


Lesenswert?

dann eben first-order noise-shaping :)

die frage ist welcher controller kann das?

73

von peter dannegger (Gast)


Lesenswert?

"die frage ist welcher controller kann das?"

Ganz genau, ich kenne auch keinen.

Aber wie wärs denn mit nem DAC ?

Z.B. die super sauschnellen Silabs 8051-er haben echte 12Bit DACs on
Board.

Mit denen wär die ganze Sache überhaupt kein Problem.


Peter

von Robert Teufel (Gast)


Lesenswert?

@ Rufus

Mein Verstaendnis deckt sich mit dem von Peter und Andreas. Zoll ist
kein Thema denn man bestellt bei Digikey Deutschland.
Ist sowieso witzig, der Chip kommt aus Holland, das Package aus Asien
und importiert wird aus den USA ;-)

Gruss, Robert

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Danke für die Aufklärung. Das beruhigt.

von Thomas Kusch (Gast)


Lesenswert?

Hallo Peter!

Ich muss zugeben, ich habe mich mit dem Problem der D/A-Wandlung bei
diesem Projekt noch nicht ausfuehrlich auseinandergesetzt. Ich habe bei
AVRFreaks ein Beispiel gesehen, in dem PWM dafuer verwendet wird
(AVR335: Digital Sound Recorder with AVR and Serial DataFlash. Dort
wird fuer 4kHz Bandbreite PWM mit 16kHz eingesetzt). Als Alternative
koennte ich R/2R nehmen.

Gruss
thomas

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.