Forum: Digitale Signalverarbeitung / DSP / Machine Learning (Audio-)DSP mit USB, min. 3x I2S, etwas Speicher; KEIN BGA


von Matthias Larisch (Gast)


Lesenswert?

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

von Strubi (Gast)


Lesenswert?

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.

von Matthias Larisch (Gast)


Lesenswert?

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.

von Olaf (Gast)


Lesenswert?

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

von Matthias Larisch (Gast)


Lesenswert?

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

von sepp (Gast)


Lesenswert?

Schon mal die AVR32 angeschaut? Da gibt es welche mit I2S, HS USB und 
neuerdings anscheinend auch FPU.

von Olaf (Gast)


Lesenswert?

> 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

von Matthias Larisch (Gast)


Lesenswert?

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

von Matthias Larisch (Gast)


Lesenswert?

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.

von Olaf (Gast)


Lesenswert?

> 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

von Matthias Larisch (Gast)


Lesenswert?

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.

von Matthias Larisch (Gast)


Lesenswert?

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?

von yello8247 (Gast)


Lesenswert?

Matthias Larisch schrieb:
> Toll wäre ein Cortex M4, aber aus irgendeinem Grund gibt es die zur Zeit
> noch nicht zu kaufen.

Die gibts schon beispiel: Freescale kinetis Cortex M4

http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=K60

Gruss
Yello

von Olaf (Gast)


Lesenswert?

> 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

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.