Hallo zusammen,
Ich bin seit Wochen immer mal wieder auf der Suche nach einem DSP,
welchen ich für folgenden Einsatzzweck benutzen kann:
- USB Soundkarte am PC
- Den Sound etwas filtern, eventuell ein kleines Delay
- Ausgabe per I2S zu DACs auf der Platine
- noch ein-2 I2S oder SPDIF frei, um auch extern Sound einspeisen zu
können
Dabei benötige ich erstmal 16 bit/48 kHz, würde mir aber gerne den Weg
auf 24 Bit/96 kHz offenhalten. Somit benötige ich:
USB HighSpeed Interface (DEVICE)
min. 2 I2S Ausgänge, min. 1 I2S/SPDIF Eingang (jeweils Stereo)
min. 150 kByte Speicher
Floating Point Arithmetik wäre super, aber das krieg ich wohl garnicht.
Also reichen wohl 16 bit Fixed Point und den Rest macht der Compiler :)
eventuell externes Speicherinterface für SDRam oder so; aber nicht
unbedingt nötig
kennt jemand einen, welcher nicht BGA ist?
Selbst wenn ich meine erweiterten Anforderungen zurücknehme, finde ich
einfach nichts genau passendes.
Der TMS320C5505 klingt super, leider nur als BGA erhältlich.
Bei meiner Anforderung habe ich auch schonmal über einen normalen µC
nachgedacht (4x FIR 10. Ordnung + Delay sollten da eigentlich auch kein
Problem sein, nur die Erweiterbarkeit lässt etwas zu wünschen übrig),
dort kenne ich aber auch keinen, welcher mir eine entsprechende Zahl I2S
zur Verfügung stellt.
Der TMS320C5505 hat dieses tolle ezUsb Board - leider ist der USB nur an
einem FTDI angeschlossen, nicht am DSP, somit nutzlos.
Zielplatine werde ich doppelseitig fertigen lassen, die üblichen
bezahlbaren Dienste, welche mir >6-8 mil Leiterbahnen und >0,6mm
Bohrungen vorschreiben , reichen aber für BGA trotzdem nicht aus (Löten
wäre kein Problem). Wenn ich 150€ für die leere Platine hinlegen muss,
übersteigt das leider den Aufwand, den ich gewillt bin zu zahlen. Der
DSP darf gerne 35€ bei den üblichen Verdächtigen kosten, zur Not kann
ich auch sampeln, falls man ihn nirgens kriegt.
Ich bin für Vorschläge dankbar
Hi,
reicht dir ein kleiner ARM nicht?
Leider kriegt man meines Wissens keinen der "üblichen Verdächtigen" (von
ADI und TI), die etwas mehr Power haben UND USB haben, im LQFP.
Hm, das wird vermutlich argh eng.
Ich habe einfach mal bei den mir bekannten STM32'ern nachgeschaut, dort
gibt es bis zu 2x I2S; Bei 96 kHz Samplerate bleibt nicht wirklich viel
pro Sample über @ 72 MHz. Außerdem hat der "nur" USB 2.0 FullSpeed,
dadrüber wird es mit 24 bit/96 kHz echt eng (~ 4,5 MBit/s Nutzdatenrate
@ 2 Kanal).
Eventuell sollte ich wirklich erstmal auf die höheren Anforderungen
verzichten, ne 64 Pin LQFP krieg ich auch zu Haus noch geätzt. Bei 48
kHz habe ich genug Zeit pro Sample und komme auch mit USB wunderbar
klar.
Dennoch vielen Dank für den Tip, hatte vorher schonmal an so nen
Prozessor gedacht, ihn jedoch recht schnell als unzureichend verworfen.
Nimm den SH7262!
1. USB2.0 Master/Slave
2. Mehrere I2S
3. SPDIF direkt auf dem Prozessor.
4. Internes 1MByte Ram, bootet ueber SPI-Flash.
Daher kein externes rumgehampel mit langen Leitungen und
hohe Frequenzen. Betrieb auf selbstgebauten 2lagen Board kein
Problem!
5. 144Mhz CPU mit 2Befehlen pro Takt und Fliesskomma integriert.
6. Prozessor enthaelt ein Stueck echtes Dualportram. Dadurch bremst
der DMA die CPU nicht aus.
7. Die Entwicklungsumgebung von Renesas ist umsonst bis 256kByte
Codegroesse. Das sollte wohl reichen!
8. Der Prozessor kostet bei Glyn um die 20Euro. Mit Versandkosten
und allem drum und dran waren es IMHO so 25Euro bei 15Stk.
9. Es gibt die Moeglichkeit direkt ueber USB zu flashen und debuggen.
Allerdings hat man dann natuerlich nicht die Moeglichkeit USB
selber in der eigenen Anwendung zu nutzen. Dafuer aber schoen billig
weil man keinen Brenner braucht.
10. Datenblatt hat 1000Seiten und es gibt eine Menge Applikationen.
Es war jedenfalls kein grosses Problem damit einen MP3-Player
zu bauen.
Olaf
Moin!
Ich melde mich erst spät wieder, wollte aber dennoch etwas Rückmeldung
geben:
Der SH7262 erscheint mir Overkill, außerdem wird es wohl nicht ganz
günstig (Einzelstücke kriege ich wie es scheint nur bei digikey). Mal
schauen, wie weit ich mit nem doppelseitigen Layout komme, denn für mich
schreit so ein "großes" Gehäuse eher nach 4 Lagen. Dennoch werde ich das
Projekt wohl damit durchziehen. Die größten Bauchschmerzen bereitet mir
die Nachbaubarkeit für Laien, denn eigentlich wollte ich das Projekt
gerne hinterher veröffentlichen. Naja, angenommen ich bringe da wirklich
mal was zu stande, findet sich ja vielleicht jemand, der die Platinen
mit fertig bestücktem Prozessor verkauft :) Bleibt dann nurnoch der
Preis, welcher wohl so 50€ nur für diese beiden Teile ab 20 Stück
betragen dürfte, als Hindernis für Nachahmer.
Aber was red ich: Bevors so weit kommen kann muss ich erstmal anfangen
:)
Fakt ist, dass es scheinbar wirklich keinen besseren Allrounder gibt.
Hier kann ich dann auch einfach noch nen alten SDRam-Chip, ein kleines
Grafikdisplay und ein paar Tasten dranhängen, fertig:)
Also, Danke für diesen Vorschlag!
Matthias
> Der SH7262 erscheint mir Overkill, außerdem wird es wohl nicht ganz> günstig (Einzelstücke kriege ich wie es scheint nur bei digikey). Mal> schauen, wie weit ich mit nem doppelseitigen Layout komme, denn für mich> schreit so ein "großes" Gehäuse eher nach 4 Lagen.
Ich weiss jetzt nicht was Digikey nimmt, aber wie ich schon sagte ich
habe so in der Gegend von 25Euro pro Prozessor bezahlt. Vor dem
Hintergrund das man dann mit 2Lagen auskommt erscheint mir das sehr
preiswert.
Vier Lagen braucht man IMHO nicht weil alles was schnell ist, sich im
Prozessor abspielt. Du hast extern nur deine Abblockkondensatoren und
die seriellen Busse fuer SPDIF, USB, Codec, LCD usw.
Okay, man muss natuerlich psychisch damit klarkommen das man vermutlich
100Pins unbenutzt laesst weil man sie garnicht braucht. :-)
Ich habe jedenfalls schon einen kompletten MP3-Player damit auf einem
doppelseitigen und selber geaetzten Board hinbekommen. Ich finde den
SH7262 so toll weil man eben gerade als Bastler damit sehr einfach an
fette Rechenleistung kommt.
> Die größten Bauchschmerzen bereitet mir die Nachbaubarkeit für Laien,> denn eigentlich wollte ich das Projekt gerne hinterher veröffentlichen.
Ach, die jammern natuerlich sofort sobald sie etwas anderes als DIL
sehen, aber da muessen sie dann halt durch. Ich meine wie willst du das
was du da machen willst ohne SMD Zeug schaffen?
> Fakt ist, dass es scheinbar wirklich keinen besseren Allrounder gibt.> Hier kann ich dann auch einfach noch nen alten SDRam-Chip, ein kleines> Grafikdisplay und ein paar Tasten dranhängen, fertig:)
Sobald du externes SD-Ram nimmst wird es aufwendiger.
> Schon mal die AVR32 angeschaut?
Und das spielt dann in einer Liga die man als Audio-DSP bezeichnen kann?
Doch wohl eher nicht oder? Auch der von mir angesprochene SH ist ja kein
eigentlicher DSP, aber von der Rechneleistung doch in Bereichen wo man
mit leben kann.
Aber natuerlich es ist kein AVR, man kann nicht immer von anderen
abschreiben und muss vielleicht mal selber ein Datenblatt lesen und
selber was machen. Seufz.
Olaf
Den AVR32 würde ich auch mal außen vor lassen, wobei hier der
Schaltungsaufwand geringer wäre. Die Rechenleistung dürfte allerdings
vermutlich in der Tat ausreichen. Ein Modell mit mehr als einem I2S ist
mir jetzt auch nicht ins Auge gesprungen - das bringt mir also nichts :)
@Olaf:
Bei Glyn darf ich als Student scheinbar nicht bestellen - außerdem
benötige ich ja erstmal nur ein Stück und nicht 20 (naja, 2 wären wohl
keine schlechte Idee). Außerdem gibts noch den Mindermengenzuschlag auf
100€ :)
Zum endgültigen Design mache ich mir übrigens demnächst noch Gedanken -
zur Zeit läuft erstmal die Grobplanung. Ob es noch SD-Ram gibt oder
nicht, wird der freie Platz beim Routen entscheiden. Da es ein
Bastelprojekt ist, habe ich zum Glück die Freiheit, selbst zu
entscheiden, was ich haben möchte.
Grüße,
Matthias
Ich vergaß: Bei Digikey zahle ich etwa 28€ (inkl. EuST) für den
R5S72621W144FP#U0, sofern ich den Mindestbestellwert von 65€ + MwST
erreiche.
Packe ich ein paar DACs und einen SPDIF-I2S Converter (CS8416)
obendrauf, so sollte ich den Bestellwert erreichen. Mit der nötigen
Platine (welche ich wegen Stoplack und Qualität fertigen lassen wollte)
bin ich dann wohl bei etwa 200€ inklusive Kleinteile für das gesamte
Projekt.
> Packe ich ein paar DACs und einen SPDIF-I2S Converter (CS8416)> obendrauf, so sollte ich den Bestellwert erreichen.
Den SPDIf-Converter kannst du dir sparen. Der ist ja im 7262 bereits
eingebaut. Ein Sampleratenwandler im uebrigen auch....
Olaf
Aeh nene, ich möchte gerne den SPDIF Ausgang des 7262 (zusätzlich)
benutzen und brauche dann einen SPDIF-DAC im Verstärker; Da es sowas
nicht gibt wird das dann wohl ein SPDIF->I2S und I2S-DAC. Die Teile
kommen ja mit so wenig Außenbeschaltung aus, dass ich mir da für 25€ mit
wenig Aufwand eine schöne Zusatzfunktion schaffen kann. Dafür bin ich an
dieser Stelle halt auf 48 kHz begrenzt; Aber mal ehrlich: Besseres
Material habe ich zur Zeit sowieso nicht.
Es ist faszinierend, wie die Zeit herumgeht: 2 Monate her und immernoch
nichts bestellt.
Ich habe mich gerade mal wieder etwas intensiver mit der Thematik
auseinandergesetzt. Du hast einen MP3 Player mit dem SH2A implementiert
- bei wieviel MHz läuft dein Kern? Ich las nämlich in anderen Foren,
dass du nicht beliebige MP3s abspielen kannst, da der Prozessor zu
langsam wird.
Außerdem hätte ich gerne Ethernet am Controller, mit nem ENCirgendwas
extern dran wäre das zwar kein Problem, aber es schreit mir fast nach
nem anderen Controller.
Toll wäre ein Cortex M4, aber aus irgendeinem Grund gibt es die zur Zeit
noch nicht zu kaufen. Des Weiteren müsste ich auf USB HighSpeed
verzichten, jedoch kann ich mich auch mit Sound over Ethernet
anfreunden. Der Cortex M4 wäre deutlich einfacher zu benutzen als der
SH7262 und je länger ich die Specs lese, desto mehr denke ich, dass die
leistungsmäßig in der selben Liga spielen. Zusammen mit dem SGPIO hab
ich am M4 dann 3x I2S zur Verfügung. Die Gui auf dem Grafikdisplay darf
dann der M0 nebenbei machen (LPC4353)
Hat da jemand ein Kommentar zu?
> Du hast einen MP3 Player mit dem SH2A implementiert> - bei wieviel MHz läuft dein Kern?
Bei maximum. Also 144Mhz.
> Ich las nämlich in anderen Foren, dass du nicht beliebige> MP3s abspielen kannst, da der Prozessor zu langsam wird.
Der Prozessor war erst etwas langsam weil ich vergessen habe den Cache
einzuschalten. <schaem> Er hat enorm zugelegt nachdem ich das behoben
habe. Derzeit ist es so das er 320kbit gerade so eben nicht abspielen
kann, alles andere schon. Allerdings gilt das fuer mit gcc uebersetzten
Code.
Mit dem Renesascompiler sollte das dann kein Problem mehr sein weil der
erheblich schnelleren Code erzeugt.
> Der Cortex M4 wäre deutlich einfacher zu benutzen als der> SH7262 und je länger ich die Specs lese,
Ich kenne diese ARMs nicht. Ich finde aber das ARMs hoellisch
kompliziert zu benutzen sind weil es 25454253 verschiedene inkompatible
Brenner/Debugger gibt und alles nur irgendwie nach basteln kompatible
ist. Irgendwie fragt man sich da immer welche Hardware mit welcher
Software funktioniert und zu welchem Hersteller der ARMs das gerade
passt.
Oh..und wenn du Geschwindigkeit vergleichst, die 320kbit gelten fuer die
Libmad die ich verwendet habe weil man sie halt nur compilieren muss. Es
ist natuerlich etwas deprimierend wenn man eine Festkommalibary auf
einem Fliesskommaprozessor nutzt und so einiges an Power verschenkt.
> Freescale kinetis Cortex M4
Nur 64-128k Ram? Da hab ich aber lieber 1MB. 64k ist ja schon nur das
Dualportram beim SH. :-D
Olaf