Forum: Digitale Signalverarbeitung / DSP / Machine Learning DSP Einstieg


von Simon (Gast)


Lesenswert?

Hallo zusammen,

beobachte das Forum hier schon eine Weile und konnte schon einige
Anregungen daraus entnehmen. Wage mich nun mit eine Frage an Euch die
sicher etwas neben dem Thema hier ist, aber vielleicht kann mir ja
jemand einen Tipp geben oder auch nur offen sagen, dass mein
Unterfangen hoffnungslos ist.
Warum geht es: Kenn mich mit Elektronik ein wenig aus, arbeite schon
recht lange mit Mikrocontroller (8051er, K0, M16C in Assembler und C).
Rein aus Interesse und weil ich davon nur ein wenig theoretisches
Wissen habe, würde ich mich gerne mal mit einem DSP versuchen. Nur
scheint mir das viel schwieriger zu sein als bei einem Mikrocontroller.
Bei einem Mikrocontroller eine LED zum blinken zu bringen, ist für einen
Anfänger unter Verwendung eines µC mit flash recht leicht möglich. Kann
man so ähnlich auch in die Welt der DSPs einsteigen? Konkret: Gibt es
einen DSP der nicht 120 Pins hat und den man ohne hunderter von Euro
schweren Entwicklungstools programmieren kann?
Ich stelle mir einen Aufbau AD-Wandler -> DSP -> DA-Wandler vor, mit
dem man ein Audiosignal einließt dieses verstärkt/abschwächt und dann
wieder ausgibt. Also zunächst nur mal ein Potentiometer per Software
realisiert. Klar kann man dafür eines der vielen Starterkits nehmen.
Aber kann man so etwas auch ohne viel Aufwand selbst zusammenstricken?
Freue mich auf Eure Antworten. Sollten meine Überlegungen total daneben
sind, so lasst es mich wissen, dann brauche ich darüber nicht mehr
nachzudenken.

Gruss Simon

von Jörg Wunsch (Gast)


Lesenswert?

Ich denke, das größere Problem ist die Hardware.  Ein DSP folgt
üblicherweise eben nicht dem Controller-Konzept (so viel wie möglich
in einem Gehäuse), sondern ist erstmal nur ein Prozessor.  Er braucht
noch RAM (oft ziemlich schnellen, man will ja schnell sein), einen ROM
wenigstens für den Bootstrap, außerdem DA- und AD-Wandler mitsamt
deren unumgänglichen Antialiasing-Filtern.

Daher dürfte es beim DSP nicht ganz uninteressant sein, eine fertige
Bastelkarte zu erwerben.

Softwaremäßig sind sie sehr unterschiedlich in ihren Voraussetzungen.
Es gibt durchaus auch GCC-Portierungen für einige DSPs, und einen
Assembler (mitsamt vieler Assemblerbeispiele) bekommst Du wohl in der
Regel sowohl von den Herstellern als vielfach auch Opensource.  Für
letzteres gibt es Assembler, die ,,Alleskönner'' sind, leider aber
dann oft in den Pseudo-Ops von den Originalassemblern der Hersteller
abweichen, so daß Du die Herstellerbeispiele erst konvertieren mußt.

von Gerhard Gunzelmann (Gast)


Lesenswert?

Hallo Simon

Microchip (Microchip.com) hat eine neue Prozessor-Familie
herausgebracht, die vielleicht Deinen Vorstellungen entspricht:
dsPIC30Fxxxx. Diese neue Prozessorfamilie hat DSP-Befehle, 28 bis 80
Pins, 12 Bit A/D-Wandler, Flash. Kann mit der kostenlosen Software
(Assembler) MPLAB 6.60 programmiert werden. Nur der Programmer kostet.
Ich arebite derzeit mit SmartProg von Elnec und der liegt so bei 250
Euro. Aber evtl gibts kostengünstigere Möglichkeiten.

Gerhard

von Thorsten (Gast)


Lesenswert?

Hallo,

ich arbeite zur Zeit mit einem TMS320C6711 DSK, das ist ein
Entwicklungsboard von Texas Instruments. Zum Lieferumfang gehört auch
eine extrem leistungsfähige Entwicklungsumgebung, mit C-Compiler,
Simulator usw. Auf dem Board sind auch 4 LEDs, die man ansprechen kann
und das geht sogar nur mit zwei Zeilen. Um aber ein Audiosignal vom
Eingang zum Ausgang durchzuschleifen, sind schon jede Menge Codezeilen
erforderlich. Du mußt dich mit Pipes, Buffern, Software Interrupts etc.
rumschlagen. Du mußt sicherstellen, daß genügend Speicher für die Buffer
vorhanden sind usw. Zu allem ist auch genügend Dokumentation vorhanden,
die mehr oder weniger gut verständlich sind. Für mich als DSP-Anfänger
war es eher schwer, da durchzusteigen. Aber auf jeden Fall würde ich
bei DSPs raten, mit C einzusteigen. Bei ernsthaftem Interesse würde ich
versuchen, z. B. bei eBay ein günstiges Board zu bekommen für 100 Euro
zu bekommen. Eine Hardware selbst zu bauen, würde ich nicht empfehlen.
Es gibt zwar DSPs im DIP40-Gehäuse, nur sind die, da schon so alt,
extrem teuer.

Thorsten

von olaf (Gast)


Lesenswert?

Du kommst am einfachsten und schnellsten ans ZIel wenn du dir ein
EntwicklungsKit kaufst. Dann kann es dir auch egal sein wieviel Beine
der hat.

Allerdings fragt man sich doch wo du hin willst.

Wenn du das Dingen in C programmierst dann ist da erstmal kein grosser
Unterschied zu einem ganz normalen Microcontroller. Lediglich wenn dir
besondere Algorythmen im Kopf rumgehen (FFT oder FIR) dann wird der das
schneller erledigen koennen weil er halt dafuer optimiert ist.

Das setzt natuerlich voraus das du ueberhaubt einen C-Compiler hast.
Die sind fuer DSP normalerweise recht teuer. Ausserdem wenn man
wirklich das letzte an GEschwindigkeit braucht dann ist sicher der
Einsatz von Assembler sinnvoll. Das bedeutet dann aber das du eine
etwas eigenartige Assemblersprache deines DSPs lernen musst und dazu
noch mit jeder Menge Fiesslichkeiten klarkommen musst.
Das wuerde ich mir nur antun wenn du ein ganz konkretes Projekt im Auge
hast.

Olaf

von Simon (Gast)


Lesenswert?

Möchte mich kurz vor dem Wochenende noch mal melden.

Herzlichen Dank für Eure Antworten.

Eine konkrete Anwendung für den DSP habe ich nicht. Es geht mir einfach
nur darum mit solch einem DSP mal zu experimentieren. Ein Starterkit
scheint also wohl die beste Wahl zu sein.

Gruss

Simon

von Ingo Henze (Gast)


Lesenswert?

Falls man sich um die Hardware gar nicht kümmern will, einfach nur Spaß
am Programmieren eines DSP haben möchte und das nötige Kleingeld übrig
hat, dann wär das vielleicht was:

"Soundart Cameleon"
Ist ein fertiges 19"/1HE Gerät mit Bedienelementen, LCD-Anzeige und
Audio/MIDI In/Out. Hat einen DSP Motorola DSP56303 24 bit @ 100 MHz und
als uC einen Motorola ColdFire MCF5206e, 32 bit @ 40 MHz.
Es gibt dazu alle notwendigen Dokumentationen und ein SDK.

Hersteller: http://www.soundart-hot.com
Erfahrungsbericht:
http://www.sequencer.de/dsynth/soundart_chameleon.html

Ich selber hab mit dem Teil allerdings keine praktische Erfahrung, bin
nur darauf aufmerksam geworden, als letztes Jahr in der "KEYBOARDS"
ein Bericht darüber drin war. Ich find das Konzept ganz interessant.

Kaufen kann man das Gerät z.B. hier:
http://www.music-town.de/shop/gallery/ART_0310600239.html

Aber Achtung, demnächst soll es einen Nachfolger "Soundart Chameleon
mkII" geben. Der wird bestimmt viel schöner, besser und schneller sein
(auch teurer!?). Aber dann bekommt man den alten vielleicht schon für
weniger Geld.

Gruß
Ingo

von Ingo Henze (Gast)


Lesenswert?

Hier noch ein anderer Testbereicht:
http://www.amazona.de/content/musictools/hardware/synthesizer/chameleon/chameleon.htm

Unbedingt dort auch in die Klangbeispiele reinhören (dabei ruhig die
Lautstärke etwas aufdrehen)
Meine Favoriten sind "Wurstknacker", "Dunkelbunte Strings" und
"FM".
Die 303/808/909 haben mir nicht so sehr gefallen, ist aber wohl eh nich
mein Musikgeschmack :-)

Gruß
Ingo

von Helmut Weiß (Gast)


Lesenswert?

Hallo,

ich habe noch ein Starterkit von Texas übrig, allerdings schon etwas
älter, von 1994. Es nennt sich "TMS320C2x, Digital Signal Processor
Starter Kit". Ein fertig aufgebautes Board, mit TMS320C26BFN,  einem
analogem Ein- und einem Ausgang, auf Stiftleisten rausgeführte Daten
und Adressen, sowie serieller Schnittstelle zum PC zur Programmierung,
Dokumentation (Bücher), Software (Diskette). War auch in der Elrad,
hier wurde ein NF-Spectrum-Analyser damit realisiert. Dieses Kit habe
ich angeschafft, um mich in DSP einzuarbeiten. Dazu ist es aber nie
gekommen, da die heutigen Microcontroller für meine Aufgaben
ausreichen. D.h. das Kit ist nahezu unbenutzt. Kann auch nicht viel
dazu sagen, da ich es kaum benutzt habe.
Darum bei Interesse: ran an den PC. Checken, ob es für Eure Zwecke
geeignet ist. Evtl. ist es noch wichtig, ob es den Controller noch im
Handel gibt. Wenn es dann für Euch noch "State of the Art" ist:
Ist dann für 70,00 Euro inkl. MwSt bei mir zu bekommen.
Garantie müßte ich allerdings auf eine 10 Tage Übernahmegarantie
beschränken.

Viele Grüße

Helmut Weiß

von Johannes (Gast)


Lesenswert?

Jörg Wunsch:"Ich denke, das größere Problem ist die Hardware.  Ein DSP
folgt
üblicherweise eben nicht dem Controller-Konzept (so viel wie möglich
in einem Gehäuse), sondern ist erstmal nur ein Prozessor.  Er braucht
noch RAM (oft ziemlich schnellen, man will ja schnell sein), einen ROM
wenigstens für den Bootstrap, außerdem DA- und AD-Wandler mitsamt
deren unumgänglichen Antialiasing-Filtern."

Das ist mittlerweile nicht mehr richtig. Viele DSPs haben etliche
Funktionseinheiten aus den MCs übernommen, TI vermarktet sogar seine
C2000er Controller explizit als MCs mit DSP-Kern. Die haben dann Flash,
RAM, ADC, SCI, SPI, CAN, PWM, diverse Timer, etc.
Die 24er gibt es sogar als 68er PLCC oder 32er LQFP.

von Steril (Gast)


Lesenswert?

Das Thema interessiert mich auch brennend. Weiß jemand schon mehr über
die DSPics?

Irre ist ja auch was die Rozzbox Jungs (http://www.rozzbox.de) da
gebastelt haben, angeblich nur mit Mikrocontrollern gemacht.

Ein eigener Synthi wär schon was feines....;)

von Benedikt (Gast)


Lesenswert?

>Irre ist ja auch was die Rozzbox Jungs (http://www.rozzbox.de) da
>gebastelt haben, angeblich nur mit Mikrocontrollern gemacht.

Ist kein Problem für einen uC: Hardware Midi Synthesizer dran (ist ein
kleines IC), fertig ist die Schaltung. Allerdings würde ich dann noch
ein paar LED Anzeigen nebenher Multiplexen sonst schläft der uC vor
langeweile ein...

von Gerhard Gunzelmann (Gast)


Lesenswert?

Hallo

zum dsPIC von Microchip:

von Microchip gibts dazu gerade Einführungsangebote

2 Demoboards mit dsPIC30Fxxxx für je ca 65 Euro und ein MPLAB ICD 2
mit dsPICDEM STARTER DEMO Board für 172 Euro. Der Programmer (ICD2) ist
da schon dabei. Die Software MPLAB 6.60 (Assembler) kann kostenlos
downgeloaded werden.


Gerhard

von Steril (Gast)


Lesenswert?

sorry, wenn ich jetzt blöd frage, aber was meinst du mit einem hardware
midi synthesizer IC denn genau?
Links, erklärungen, bin für alles dankbar ;)

von Steril (Gast)


Lesenswert?

meinst du so nen funktionsgenerator ic? na dann ist klar dass der uC
sich langweilt...;)

finde es sportlicher, wenn die oszillation im uC errechnet wird, dann
hat man doch mehr kontrolle über den klang, oder nicht?

von Ingo Henze (Gast)


Lesenswert?

Wenn ich das bei "rozzbox" richtig interpretiere, ist das mitnichten
ein Mikrocontroller, der nur einen fertigen Synthi-Chip ansteuert.
Ich denke, das der uC zumindest in der Urversion auch für die
Klangerzeugung zuständig war. Zitat:
"...RozzBox mit ihrer ursprünglichen Samplerate von 10 kHz bei 8 Bit
Auflösung, berechnet auf einem einzelnen Chip..."

Gruß
Ingo

von Steril (Gast)


Lesenswert?

@Ingo:
denke auch...anders wäre der funktionsumfang auch nicht erklärbar glaub
ich...

von Steril (Gast)


Lesenswert?

Kann mir jemand erklären, wie man die vielen potis da an nen AVR ADC
rankriegt?

von Benedikt (Gast)


Lesenswert?

>Kann mir jemand erklären, wie man die vielen potis da an nen AVR ADC
rankriegt?
Analogumschalter ?
Ist das überhaupt ein AVR ?

Schaut euch mal die Dokumtentation eines OPL Synthesizers an. Was da
alles drin ist, in dem einzelnen IC. Oszillatoren, Modulatoren, AM, FM
usw.
Wenn man auf einem PC über die Soundkarte eine MIDI Datei abspielt,
wird das rein Harwaremäßig gemacht !

Und 10kHz Samperate auf einem AVR ist schon ziemlich knapp. OK, man hat
1600 Takte pro Sample, aber nebenher müssen ja auch noch die Potis
abgefragt werden, die Daten zum DAC geschickt, MIDI Dekodiert usw. Ein
einzelner AVR wird da schon ziemlich ge/überfordert.

von Steril (Gast)


Lesenswert?

nun, ich denke aber in der rozzbox sind nur microcontroller verwendet
worden. lies dir die seite mal durch..

von Benedikt (Gast)


Lesenswert?

Wenn ich mir die Features anschaue, dann sieht das ziemlich nach einen
Harware Midi Synthesizer aus, ebenso die Polyphone Erweiterbarkeit.
Und die ganzen Features in einem AVR ?
Nur wenn der auf 1GHz übertaktet ist...

von Steril (Gast)


Lesenswert?

Sie reden aber davon, dass sie die Filter usw selber programmiert
haben...
vielleicht verwenden sie mehrere uCs...

von Benedikt (Gast)


Lesenswert?

Im Prinzip ist es ja auch egal ob AVR oder MIDI Synthesizer, wenn ich
einen MIDI Synthesizer mit verschiedenen Einstellungen "programmiere"
bedeutet das nicht, dass der uC das macht. Programmieren kann auch
bedeuten, dass man einfach Einstellungen an Registern des Hardware
Synthesizers vornimmt.

Ich sags mal so: Bandpass, Hochpass, Tiefpass usw. sind mit einem AVR
kein Problem und auch ausreichend schnell.
Einfache Halleffekte usw. sind auch nichts besonderes, solange man sich
auf ganze Zahlen beschränkt.

mp3 Dekoder (z.B. VS1001 sind speziell programmierte DSPs. Die sind bei
256kBit und 24MHz Takt schon an der Grenze. Ich hatte selber mal die
Idee eines primitiven mp3 Formats das man mit einem normalen uC
dekodieren kann. Allerdings hätte ich diesen dann auf >100MHz Takten
müssen, damit es in Echtzeit ablaufen kann.

von Matthias Hullin (Gast)


Lesenswert?

@Benedikt:

Ich habe das Glück (bzw. die Qual) gehabt, Kilian während des gesamten
Prozesses der Hard- und Softwareentwicklung über die Schulter schauen
zu können.

Ob du es nun glaubst oder nicht, es ist nun einmal so: die komplette
Synthese wird in Arbeitsteilung von drei AVRs erledigt (natürlich mit
Ausnahme des Analogfilters :-)). Die Chips wurden dabei nicht etwa auf
einige Gigahertz übertaktet, sondern die vorhandenen Ressourcen ganz
einfach optimal genutzt. Natürlich hieß es oft genug "Das geht jetzt
aber beim besten Willen nicht mehr. Es sind ja nur noch 2 CPU-Takte
(pro Sample) und 5 Bytes Flash-Speicher frei". Ein paar Wochen später
ging es dann eben doch. Und ja - man KANN mit einem einzigen
Microcontroller eine gewaltige Anzahl Bedienelemente adressieren, wenn
man sich für ein paar Pfennig Latches in ausreichender Menge zulegt...

Gruß
Matthias

P.S.: Die Anzahl der AVRs hat im Verlauf der Entwicklung natürlich
zugenommen. Bei einem (mittelfrühen) Prototypen zeigte sich, dass zwei
Chips noch nicht ausreichen, wenn man den Oszillatoren ein bisschen
Antialiasing verpassen will. Also hat der Meister einem der beiden AVRs
einfach einen dritten draufgelötet. Durch die verwendete Bus-Architektur
war das relativ problemlos machbar - es sieht nur ziemlich drollig aus
:-)

von the.cliffhanger (Gast)


Lesenswert?

Hallo,

falls hier noch jemand an einem DSP-Kit interessiert ist:

http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=5715378964

ADSP-21061 Sharc Analog Devices DSP Ez-Kit Lite

Ideal für Audio-Verarbeitung!!!

von Profi (Gast)


Lesenswert?

So ca. 1980 hat ein Mitschüler einen DSP angeschleppt, damals wusste ich
nichts damit anzufangen, ein Buch mit 7 Siegeln.

Jetzt mach ich recht viel mit den Motorola DSP56F803 und 805.
Gibts auch ein EVA Board dazu.

Mit dem DSP 56 F 801 gibts ein billig-Eva für 30-50 Euro.

Für Audioanwendungen gibt es die DSP56F824/826/827.
Auch dafür gibts EvaModule.

Der Compiler/IDE ist für kleine Projekte kolo, Vollversion ca. 600
Euro.
Einige Libs sind auch noch kostenpflichtig.

Auf der mitgelieferten CD sind dutzende Anwendungen fertig dabei.

Lieferanten Spoerle und EBV.


Programmieret wird er zunächstmal wie ein normaler µC (80MHz), nur hat
er ein paar schnelle 1-Cycle Befehle wie MUL und MAC, die man in erster
Linie für Digitalfilter braucht.

von Zimmermann (Gast)


Lesenswert?

Hallo,
ich wollte nmal fragen obs hier neue Erkenntnisse gibt??

Ich habe auch vor mir ein kleines DSP-Board zu bauen. DAs soll dann mal
als Demo-Board in unserer FH eingesetzt werden. Ich habe mich für einen
TMS320LF2401 entschieden, den man angeblich auch seriell programmieren
kann. Dieser Typ hat 8k Flash onboard sodas die C-Programmierung
relativ einfach sein sollte. Weiterhin habe ich mit von der TI-Page ein
90-Tage Demo der Entwicklungsumgebung geladen (Code-Composer-Studio
2.2), jedoch scheint diese nicht ohne JTAG-Anschluss an das
Target-Board zu arbeiten. Kann man sich solch ein JTAG Kabel selbst
bauen, oder gibts es Wege, den DSP anders ans laufen zu bekommen?

Danke und Gruss Thomas

von Profi (Gast)


Lesenswert?

Ich kann nur zum Motorola sagen: man kann ihm über JTAG (schnell) oder
seriell (eingebauter Monitor, langsam) programmieren.

Die Eva-Boards haben einen Centronic-Stecker, der an die Parallele geht
(PC-IDE emuliert JTAG).

Insgesamt kann ich sagen: DSPs sind halb so wild!

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.