Forum: Digitale Signalverarbeitung / DSP / Machine Learning Wie kommt der Code auf den Chip


von Bisch (Gast)


Lesenswert?

hallo,
habe eine Anfängerfrage.

ich schaue mich gerade nach sharc dsp´s von analog devices um um erste 
graphische ( sigma studio ) programmiererfahrung zu sammeln.

Was ich aber nicht verstehe ist, wie kommt der code eigentlich auf den 
chip ?

Man sieht überall extrem teure evaluationsboards etc. aber nirgends sehe 
ich einen Sockel auf den ich einen chip setzen kann, code drauf laden 
und wieder abnehmen kann.

Das muss doch gehen oder ? Ich kann doch nicht jedes mal beim 
beschreiben eines chips zum löten/entlöten anfangen !!

Danke euch !

von Mark B. (markbrandis)


Lesenswert?

Bisch schrieb:
> Das muss doch gehen oder ? Ich kann doch nicht jedes mal beim
> beschreiben eines chips zum löten/entlöten anfangen !!

Das geht auch. Nennt sich ISP.

https://de.wikipedia.org/wiki/In-System-Programmierung

von Entwickler (Gast)


Lesenswert?

Bisch schrieb:
> Das muss doch gehen oder ? Ich kann doch nicht jedes mal beim
> beschreiben eines chips zum löten/entlöten anfangen !!

Das sind die Fragen derer, mit denen ich an der Hochschule zu tun hatte, 
die immer gute Noten hatten, die aber nicht wussten, wie herum man den 
Widerstand einlöten muss-Ich errinnere mich noch sehr deutlich :-)

von GHD (Gast)


Lesenswert?

Bisch schrieb:
> aber nirgends sehe
> ich einen Sockel auf den ich einen chip setzen kann, code drauf laden
> und wieder abnehmen kann.

Bisch schrieb:
> Das muss doch gehen oder ? Ich kann doch nicht jedes mal beim
> beschreiben eines chips zum löten/entlöten anfangen !!

Hast du dir mal die Gehäuseformen angeschaut? Bist du sicher, dass du 
überhaupt eine dieser Formen löten kannst? Dafür gibt keine Sockel dass 
man den IC rausnehmen kann. Den BGA kannst du genau einmal auflöten 
(also ich meine einen profesionellen Bestücker) und ablöten, dann muss 
man ihn "reballen". Die Dinger werden einmal aufgelötet und fertig.

Außerdem wäre es völlig sinnlos weil man solche komplexen DSPs debuggen 
muss in der Entwicklung. Und das geht nun mal nur in der Schaltung. Und 
wer debuggen kann, der kann auch programmieren.

Es gibt für BGA zwar Sockel - aber die sind sehr selten und teuer. 
Dagegen ist so ein Evalboard geschenkt. Selbst in großen 
Produktionseinheiten würde man über ISP Programmieren. Dafür gibt es 
spezielle Produktionsanlagen (ähnlich einer Pick & Place Maschine) die 
den Programmierheader / Federstifte automatisiert platzieren und sich um 
die Programmierung kümmern.

von Bisch (Gast)


Lesenswert?

Hey Leute,

danke für die Antworten, es geht einfach um folgendes:

Ich komme aus dem Lautsprecherbau, möchte eben die Vorteile der DSP 
nutzen aber habe keine Erfahrung darin. Analog ist kein problem, aber es 
fängt eben schon hier an:

Der Plan ist, FIR Filter und EQ´s + X auf Platinen für kleine Serien zu 
kriegen. Dass es so schöne Evaluationsboards gibt freut mich zwar, 
jedoch verstehe ich den Sinn dahinter einfach nicht.

Ich brauche doch einzelne Chips die mit Code beschrieben sind um daraus 
dann Platinen mit meinen Schaltungen drauf zu bauen.

Ich kann doch nicht das Evaluierungsboard einbauen.

Wie kann ich denn vorgehen um einen einzelnen Chip mit dem Code den ich 
möchte in der Hand zu halten ? Rein physischer Weg.

Ob ich die Platinen dann machen lasse oder selbst löten kann werde ich 
noch sehen, kommt wohl auch auf den Chip und dessen Gehäuse an. Es geht 
grad nur ums Verständnis wie es funktioniert.

Vielen Dank

von Oliver S. (oliverso)


Lesenswert?

Bisch schrieb:
> Wie kann ich denn vorgehen um einen einzelnen Chip mit dem Code den ich
> möchte in der Hand zu halten ? Rein physischer Weg.

Geht halt nicht (sinnvoll). Was willst du auch mit dem einzelnen Chip in 
deiner Hand?

Oliver

von Toni Tester (Gast)


Lesenswert?

Bisch schrieb:
> Ich brauche doch einzelne Chips die mit Code beschrieben sind um daraus
> dann Platinen mit meinen Schaltungen drauf zu bauen.
> [...]
> Wie kann ich denn vorgehen um einen einzelnen Chip mit dem Code den ich
> möchte in der Hand zu halten ? Rein physischer Weg.

Andersrum wird ein Schuh draus:
Der (leere) Chip wird auf die Platine bestückt, auf welcher die 
Programmierleitungen des Chips (siehe Link weiter oben; 
In-System-Programmierung) "herausgeführt" sind, d. h. auf eine 
Steckerleiste oder auf Testpunkte auf der Platine, an denen du deinen 
Programmer anschließen kannst.
In Serie kann/soll/muss/darf das Programmieren typischerweise der 
Platinenbestücker mit erledigen; während der Entwicklung und bei 
homöopathischen Stückzahlen kannst du das noch per Hand machen.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Ein typischer Weg bei heutigen DSP ist der Download der Software aus 
einem EEPROM. Der DSP aktiviert nach den Power-On eine Routine, die den 
vorher in ein serielles EEPROM geflashten Code in den DSP transferiert 
und dann startet, so passiert das z.B. bei den TAS DSP von Texas 
Instruments.

Das EEPROM wird mit der Entwicklungssoftware des jeweiligen DSP 
beschrieben, bei TI ist das z.B. Code Composer.

von Bisch (Gast)


Lesenswert?

Super, jetzt hab ich es verstanden,

noch eine letzte Frage,

kennt jemand ein komplettes Set für einen DSP ( muss nicht analog 
devices sein, ist mir egal ! ) bei dem alles drum und dran ist dass ich 
erste Schritte gehen kann, und das nicht gleich 500+ euro kostet ?


So wie ich das sehe brauche ich:

- Software ( freeware )
- Evaluationsboard ( jetzt als sinnvoll anerkannt um zu testen )
- Platine mit aufgelötetem Chip inkl. Kommunikationsleitungen ( ISP 
programmer ) für Code Speicherung und Steuerleitungen, Peripherie z.B. 
Potis, Spannungsversorgung etc.

Vorgang an sich so wie ich es mir vorstelle:

Aus der Software wird der Code kompiliert und zum Test mit dem 
Eval-Board ausgewertet. Wenn alles passt, wird die programmer Platine 
angeschlossen und der Code wird auf den Chip gespielt.

Richtig ?

Danke euch allen !

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Ich wuerd' mal gucken, ob's nicht irgendein STM32 tut. Das ist kein 
"richtiger" DSP, aber ich denk', fuer ein paar Audiofilter/Equalizer 
wirds locker reichen.
Da halt mal nach einem Evalboard schauen, was moeglichst viel 
AudioADC/DACs mitbringt - oder Steckverbinder um eigene Wandler 
anzuschliessen. I2S ist ja noch recht bastelfreundlich.

Vorteile: billig, gibts ueberall zu kaufen, braucht kein externes 
RAM/Flash, ISP/Debugging-Schnittstelle ist oft OnBoard, GNU-Toolchain 
existiert, IDEs gibts auch verschiedene von gratis bis 
wasweisichwieviel, von vi+Makefile bis Eclipse.

Gruss
WK

von Bisch (Gast)


Lesenswert?

Danke Dir,

jetzt bin ich gerade am überlegen ob es auch eine Möglichkeit wäre es 
machen zu lassen. Selbst mit graphischer programmierumgebung wird es 
wohl recht kompliziert als Einsteiger. Da ja auch bald was rauskommen 
soll:


Wer möchte sich mein Anliegen anhören und mir ein Angebot machen ?

von Strubi (Gast)


Lesenswert?

Moin,

bei allen nicht uralten Chips von Analog Devices ist ein JTAG vorhanden 
und auch rausgeführt. Und so kommt der Code auch auf den Chip, bzw. kann 
man damit auch noch debuggen.
Ich würde mir auf dem Stand erst mal genau überlegen, warum überhaupt 
DSP. Es tut u.U. auch meist ein klassischer ARM, wie genannter STM32. 
Und auch da gibt's eine Menge kostengünstiger JTAG-Tools.
Vom grafischen Ansatz der Programmierung kann ich eigentlich nur 
abraten. Lieber modellierst du vorher dein Problem in Matlab und setzt 
es numerisch sauber in C um, dann läufts auch auf Embedded System X.
Wenn du einen DSP richtig auf "full speed" nutzen willst, musst du 
sowieso Assembler anfassen, insbesondere bei nicht standard 
Vektoroperationen, die der (mehr oder weniger optimierende) Compiler 
nicht erkennt.

von ./. (Gast)


Lesenswert?

> irgendein STM32
> fuer ein paar Audiofilter/Equalizer wirds locker reichen.

Die "DSP-Spezialitaeten" des Befehlssatzes und der Architektur
fehlen den STM32.

Und die koennen den verfuegbaren Durchsatz locker um eine
Zehnerpotenz steigern.

Und richtig skalierbar sind sie auch nicht.

Ich wuerde da, wenn es nur um Filter und EQs geht,
eher mal bei der FPGA-Sektion gucken. Da sind Wortbreite,
Geschwindigkeit und Skalierbarkeit ueberhaupt kein Problem.

Wenn ich Dir da was entwickeln soll, muesstest Du aber mal
einen Kontakt hinterlassen.

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.