Forum: Digitale Signalverarbeitung / DSP / Machine Learning TMS320 - welche Bedeutung hat der DSP heute noch


von Harald (Gast)


Lesenswert?

Hallo zusammen.

Ich habe beim Aufräumen noch einige TMS320 DSP und DSKs gefunden. Alles 
Querbett, bei den DSKs ist der C6416 drauf mit 720 MHz Takt und der 
C6416T mit 1 GHz. Das muss alles so Stand 2003/4 gewesen sein. Auf jeden 
Fall hatten wir damals viel Spaß und haben zum Beispiel Zerhacker (Audio 
und Video) für Funksysteme implementiert. Das ist lange her und wenn ich 
heute schaue welche Taktraten normale Mikrocontroller haben, geht ja in 
die gleiche Richtung, siehe STM32H7 oder Teensy 4...  dann finden die 
mit der Leistung heute ja auch Anwendungen die eigentlich sehr DSP 
lastig sind! Hat der TMS320 da überhaupt noch einen Marktanteil im 
Vergleich zur Konkurrenz? Denn billig war die Sache damals ja nicht, 
heute glaube ist das CCS zumindest für "Privat" kostenlos?

Wer von Euch hatte denn das letzte mal beruflich oder im Hobby noch mit 
dem TMS320 zu tun? Bin gespannt ob es da noch welche gibt und was waren 
Eure Anwendungen auf dem DSP von TI?

Gruß Harri

von Gustl B. (gustl_b)


Lesenswert?

Nur so aus Interesse, heutzutage sind FPGAs teilweise recht günstig und 
haben auch eine hohe Rechenleistung. Gibt es da noch eine Nische für 
reine DSPs?

von Harald (Gast)


Lesenswert?

FPGAs sind über die Jahre natürlich auch preiswerter geworden, aber ich 
glaube MCUs und DSPs sind da doch noch etwas günstiger und bieten 
möglicherweise einen geringeren Entwicklungsaufwand.

von Fabian H. (fabianh84)


Lesenswert?

Ich hab erst letztes Jahr ein 20kW SMPS mit einem TMS320F28032 in Serie 
übergeben. Der rechnet dort zwei 100kHz Current Loops, eine 6kHz Voltage 
Loop, diverse Filter zweier und dritter Ordnung und macht das 
Housekeeping. Unschlagbar finde ich die schnellen ADCs die es mit dem 
Drumherum als single IC Lösung (adc+DSP+PWM+Flash) so nicht oft gibt.

Ich bin begeisterter Nutzer!

von Laary (Gast)


Lesenswert?

> schnellen ADCs
[x]

> begeisterter Nutzer
Hier auch (2808/2809/5410/5416/5502/5509/5535/...).

> beim Aufräumen noch einige TMS320 DSP und DSKs gefunden

@Harald:
Die wuerden hier auch ein neues Zuhause finden.
Bevor sie bei dir noch Rost ansetzen.
Ich wollte mal einen baufreundlichen aus der 64er Serie
samplen und selber bauen, aber irgendwas kam immer dazwischen.

von Bernd (Gast)


Lesenswert?

Harald schrieb:
> Denn billig war die Sache damals ja nicht,
> heute glaube ist das CCS zumindest für "Privat" kostenlos?
Für mich war das damals der Grund, mich mit FPGAs zu beschäftigen. Bei 
TI hatte ich nie den Eindruck, das die neue Nutzer für ihre DSP suchen.

von Harald (Gast)


Lesenswert?

Ja den Eindruck hatte ich auch eine lange Zeit! Aber es ist schön zu 
lesen das der DSP doch noch ein paar Entwickler hat, ich dachte schon 
der Markt für den 320 ist nicht mehr vorhanden.
Von dem DSK mit 6416 habe ich noch 12 Stück liegen, von dem 6414T noch 7 
Stück. Ein paar kleinere DSKs sind auch noch reichlich da. Ich liste die 
mal noch auf.

Meint ihr mit den DSPs könnte man den Nachwuchs noch begeistern oder 
dürfen es hier nur Projekte mit Arduinos oder Lego Mindstorm sein?  Also 
mich haben damals so etwas wie digitale Filter oder Signalübertragung ja 
noch fasziniert. Aber mit dem Taschengeld und Ferienarbeit war ich weit 
davon entfernt mir ein solches Board, geschweige denn einen passenden PC 
leisten zu können. Aber wenn sich heute nichts mehr bewegt, raucht oder 
Licht macht ist es wahrscheinlich bei dem Nachwuchs uninteressant?

LG Harri

von c-hater (Gast)


Lesenswert?

Harald schrieb:

> Meint ihr mit den DSPs könnte man den Nachwuchs noch begeistern

Eher nicht. Es gibt mehr als genug µC mit DSP-Einheiten. Wenn man also 
DSP braucht (oder das auch nur glaubt) wird man einen solchen wählen...

Es gibt also zumindest kaum einen Grund mehr, mit externen DSPs 
rumzuhampeln...

von X. Y. (Gast)


Lesenswert?

Harald schrieb:
> Nachwuchs noch begeistern

Man konnte den Nachwuchs früher mit DSPs begeistern?
Das war doch eher ein recht teurer Spaß mit teuren PCs und Messtechnik.
Ich denke nicht, dass es früher (90-00er) viele gab die privat mit DSP 
oder FPGA gearbeitet haben, da war ein 8051 oder Atmel ja schon eher was 
spezielles.

von Awsome (Gast)


Lesenswert?

F. M. schrieb:
> Harald schrieb:
>> Nachwuchs noch begeistern
>
> Man konnte den Nachwuchs früher mit DSPs begeistern?
> Das war doch eher ein recht teurer Spaß mit teuren PCs und Messtechnik.
> Ich denke nicht, dass es früher (90-00er) viele gab die privat mit DSP
> oder FPGA gearbeitet haben, da war ein 8051 oder Atmel ja schon eher was
> spezielles.

Atari Falcon... ^^

von Larry (Gast)


Lesenswert?

> Ich denke nicht, dass es früher (90-00er) viele gab die privat mit DSP
> oder FPGA gearbeitet haben, da war ein 8051 oder Atmel ja schon eher was
> spezielles.

Als die c't noch kein mac-Kaeseblatt war, gab es dort mal einen
Artikel der sich mit den 56002 naeher befasste (Romeo und Julia).
Ich habe damals den "einfachen" Weg gewaehlt und mir ein
56002-Kit kommen lassen statt den Vorschlaegen der c't zu folgen.
Und ich wurde auch nicht enttaeuscht.

Fuer den Neuling sind die TI 64er DSPs in der Tat eher nichts.
Zumeist wird auch ein eher teuerer JTAG-Adapter benoetigt.
Ein mir bekannter Kollege versuchte darauf mal ein wirklich
simples FIR-Filter zum laufen zu bringen.
Beim Versuch ist es geblieben.

Wenn man massiv parallel arbeiten will, sind FPGAs sicherlich
heute das Mass der Dinge.
Aber um Algorithmen einfach mal praktisch zu testen,
ist man mit dem DSP einfach schneller.

> Bei TI hatte ich nie den Eindruck, das die neue Nutzer für ihre DSP suchen.

TI hat Entwickler mit Samples und auch kostenlosen Lizenzen
abseits der Vertriebswege unterstuetzt. Deinen Eindruck kann ich
also nicht teilen.


> Ich liste die mal noch auf.

Mach mal :-).

von Harald (Gast)


Lesenswert?

Larry schrieb:
> Fuer den Neuling sind die TI 64er DSPs in der Tat eher nichts.
> Zumeist wird auch ein eher teuerer JTAG-Adapter benoetigt

Na zumindest bei den DSKs waren die JTAG-Programmierer auf den Board mit 
drauf! Ansonsten stimmt das natürlich schon, billig waren diese JTAGs 
nicht. Muss mal schauen was man heute für ein xds100 hinlegen muss!

Aber bei den schnellen uC heute denke ich auch es wird sich keiner mehr 
auf die 320er stürzen. Das sehe ich auch irgendwo so. Und nur weil ich 
damit tolle Projekte hatte, muss ich die Nachwelt damit nicht quälen, 
allein schon wegen des historischen CCS der den DSKs beigelegt ist.

 Ich werde wohl von jedem DSK ein Exemplar aus sentimentalen Gründen für 
mich erhalten und mir in die Vitrinen lege und den Rest nach /dev/null 
umleiten.

Danke für Eure Einschätzungen die ich im Prinzip ja auch teile.

VG
Harri

von Dieter (Gast)


Lesenswert?

Harald schrieb:
>
> Ich werde wohl von jedem DSK ein Exemplar aus sentimentalen Gründen für
> mich erhalten und mir in die Vitrinen lege und den Rest nach /dev/null
> umleiten.

Tu das bitte nicht. Ich wuerde Dir gerne von den DSKs jeweils einen 
abkaufen, ich habe hier schon ein paar und spiele auch gelegentlich 
damit rum.

Wie kann man Dich denn erreichen falls Du welche von DSKs verkaufen 
würdest?

von Larry (Gast)


Lesenswert?

Mit einem

> xds100

wird man mit den 64er DSPs wohl Probleme haben.
XDS510 und XDS560 sind da wohl angezeigter.


> den Rest nach /dev/null umleiten.

:-(

von Jürgen S. (engineer) Benutzerseite


Lesenswert?

Larry schrieb:
> Ein mir bekannter Kollege versuchte darauf mal ein wirklich
> simples FIR-Filter zum laufen zu bringen.
> Beim Versuch ist es geblieben.

Wo war das Problem? Die heutigen Chips kommen doch alle mit massenhaft 
LIBs zunm Copy und Paste.(?) Früher musste wir noch alles selber machen. 
War auch irgendwie einfacher, wenn man drüber nachdenkt.

Die heutigen TMS sind mit den damaligen auch kaum zu vergleichen:
http://www.96khz.org/oldpages/vamodelling2.htm

Das passt heute z.B. in einen "normalen" UC.

von Harald (Gast)


Lesenswert?

Ich würde die DSKs noch ein paar Tage, Wochen beherbergen, falls die 
jemand wirklich noch haben will soll er hier schonmal virtuell die Hände 
heben, ansonsten fliegen die spätestens mit Semesterstart in den Müll.

Der Grund dafür: Corona! Ich stand gestern für einen Einschreibbrief 2 
Stunden in der Schlange, denn im riesigen Postamt (altes kaiserliches 
Telegrafenamt, also richtig groß) mit bestimmt 500qm Schalterraum dürfen 
nur zwei Kunden auf einmal rein und es gab nur einen Schalterbeamten. 
Ihr könnt Euch die Schlange kaum vorstellen, wenn die Leute ihre 
Amazon-Pakete abholen oder wieder zurückschicken! Und in diese 
Wartegesellschaft möchte ich mich nicht wegen jedes DSK einzeln 
einreihen und zwei Stunden warten müssen. Die Pakete von DHL abholen zu 
lassen ist auch keine Alternative. Wenn Dir mir sagen sie kommen 
zwischen 8-18 Uhr, dann ist das ja eine verkappte Quarantäne, sprich man 
kommt gar nicht vor die Tür!

Also die 64er DSKs finden hier noch Abnehmer?
Die C5535 ezdsp Bretter und anderes kleines Gemüse ist wahrscheinlich 
nicht mehr so gefragt?

Ja xds100 macht ja nur denn C64+, aber die DSKs haben alle einen JTAG 
Emulator drauf, ein USB-Kabel reicht da also aus und liegt dem DSK bei. 
So auch das passende Netzteil und CDs mit zahlreichen PDFs zum DSP und 
dem sehr alten Code Composer Studio, glaube Version 2 oder 3. Also mit 
Win10 läuft da nichts mehr, eher Windows NT4 oder 2000. Vielleicht läuft 
das noch in einer Virtualbox oder man muss sich einen alten Gebrauchten 
bei Harlander und Kompanen holen und da so ein Altsystem drauf 
installieren.

Gruß Harri

Beitrag #6347053 wurde vom Autor gelöscht.
von Dieter (Gast)


Lesenswert?

Harald schrieb:
>
> Also die 64er DSKs finden hier noch Abnehmer?
> Die C5535 ezdsp Bretter und anderes kleines Gemüse ist wahrscheinlich
> nicht mehr so gefragt?

Also ich wäre an einem von jedem der DSKs interessiert. Gerne auch die 
alten, ich habe öfters mal in älteren Geräten mit solchen DSPs zu tun 
und da ist es manchmal ganz praktisch wenn man für Experimente ein 
externes Board mit dem DSP hat. Ein altes Windows auf dem die Software 
läuft ist kein Problem ;-)

Dass Du nicht bei der Post anstehen willst verstehe ich gut, ich warte 
gerne bis sich die Situation entspannt. Alternativ: ich würde natürlich 
auch die höheren Versandkosten zahlen wenn Du die Lieferung von DHL bei 
Dir zuhause abholen läßt.

von Larry (Gast)


Lesenswert?

> hier schonmal virtuell die Hände heben

Ich hab zwar schonmal, aber sicher ist sicher:

[x]

Es ist auch keine Eile geboten.

> xds100 macht ja nur denn C64+
Ich hab hier einen BH560m. Der sollte den C64+ sicher auch koennen.
Und einen umgeschnurzelten MSP430-JTAG mit angepasster DLL fuer CCS.

> anderes kleines Gemüse
Wenn da ein CCS dabei ist, dass noch den TMS320C25/26 unterstuetzt...
Die Version CCS3.3 mag den nicht mehr.

Div. TMS320C15 und TMS320C31 warten hier bei mir auch noch.

Danke fuer deine Aufmerksamkeit.

von Andreas M. (amesser)


Lesenswert?

Ich würde Dir auch eins von den größeren und auch den kleineren Boards 
abnehmen. Ein konkretes Projekt schwebt mir nicht vor, aber thematisch 
interessiert mich das schon länger. Bitte nichts wegschmeißen, wäre 
schade drum. Und wenn es nur als Lernplattform dienen kann. Ich kenne 
jemanden der macht an der Schule Elektronik/ Programmierung - AG, da 
kann damit schon noch was anfangen

von TMS320C28343 (Gast)


Lesenswert?

Wir nutzen den TMS320C28343 noch sehr regelmäßig im bereich der 
Messtechnik. Der sammelt die AD-Wandler-Daten mit 32kHz ein und filtert 
die per FIR runter auf ~4kHz. Dazu eben noch Verrechnung mit 
entsprechenden Kalibrierwerten und Transformation vom rotierenden ins 
feststehende Koordinatensystem.

Vorteil soweit wir das bisher gesehen haben im vergleich zu den ARMs 
(z.B. Atsamd51) ist der größere Speicher und die 
spezielleren/schnelleren MAC-Befehle.

von Gerhard H. (ghf)


Lesenswert?

Ich fand den TMS320 seinerzeit eher grauslich und nur mit dem C-Compiler 
zu ertragen. Ich bin mit fliegenden Fahnen zum Analog Devices SHARC 
übergelaufen.

Der Beaglebone AI soll aber 2 TI DSPs enthalten, zusammen mit 2
"großen" ARMs und mehreren "kleinen". Ich hab's noch nicht
näher angesehen, mir reicht zur Zeit noch der Beaglebone Black.

Ich würde vermuten, dass die beiden DSPs aufgemotzte Nachfahren
des TMS320 sind. Ihre nötige Infrastruktur dürfte wohl komplett
vorhanden sein, inclusive Anbindung an das Debian Linux auf den ARMs.

Vermutlich ein Einstieg ohne große Hürden und vergleichsweise billig.
Laptop und USB-Kabel reicht.

Ich habe seinerzeit mal eine Diplomarbeit mit einem 56K betreut.
Nach der Prüfung hat der Student schlagartig jegliches Interesse an
dem Ding verloren, mit etwas Glück könnte es noch in meinem Keller 
verstauben.

Gruß, Gerhard

: Bearbeitet durch User
von Harald (Gast)


Lesenswert?

Bevor ich Ende der Woche in den Urlaub fahre um meine persönliche 
Portion Corona abzuholen, wollte ich nochmal kurz sagen das ich jedes 
DSK als Einzelpaket für 7.50 Euro mit DHL in der Originalverpackung 
verschicken würde. In das größte Paketset passen somit nur 2 DSK und 
gewichtsseitig kommt man damit knapp über die 5 Kilo-Grenze. Das 10 
Kilo-Paket kostet aber schon 10.50 Euro plus das Paketset. Kommt also 
letztendlich fast aufs Gleiche und somit lohnt sich für mich jetzt nicht 
das Anstellen für die Paketsets und dann nochmal fürs verschicken.

Ich habe auch noch drei gebrauchte, aber funktionierende Altera Ep2S60 
Devkits für NIOS2. Hat nichts mit TMS320 zu tun, aber da ich beim 
Aufräumen bin würde ich die für 25 Euro Stück + Porto verschicken. Die 
25 Euro gehen an ein Hospiz für unheilbare Kinder.

Ich lasse das hier einfach mal laufen und dann gibt es nach dem Urlaub 
eine Mail. Über die könnte Ihr mir dann per Paypal das Porto bezahlen 
und die Lieferadresse bekannt geben. Die restlichen DSK gehen dann 
abschließend nach /dev/null weil der Platz für andere Sachen gebraucht 
wird.

Einen schöne Sommerurlaub, bleibt gesund
Harri

von X. Y. (Gast)


Lesenswert?

Ich würde Interesse anmelden, an einem TMS320 DSK allerdings mit Versand 
nach AT, Kosten übernehme ich natürlich, würde auch großzügig aufrunden.

Interessant wäre für mich der C6416 würde natürlich noch mehr 
aufnehmen:)
Ich habe hier im Labor ein Thinkpad T30 mit XP für die ganze 2000er 
Agilent/RuS SW darsuf sollte die SW eigl. laufen.


LG und schönen Urlaub

von Andreas M. (amesser)


Lesenswert?

Also ich würde auch mal Interesse an einem der C6416 und einem der 
Stratixe anmelden. Ich habe aber kein PayPal, ich würde vorab überweisen 
wollen wenn möglich.

von Dieter (Gast)


Lesenswert?

Ich hätte wie schon weiter oben geschrieben Interesse an jeweils einem 
der TMS320 DSKs (Du hast ja gschrieben dass Du verschiedene Varianten 
davon hast).

Ich würde auch eines von den Ep2S60 Devkits nehmen, falls noch eines 
davon übrig ist.

Das mit dem Einzelversand in der Orignalpackung passt, Bezahlung per 
PayPal ebenso.

von eProfi (Gast)


Lesenswert?

Hat von Euch jemand eine controlCARD?
z.B. TMDSCNCD28069 
https://www.mouser.de/ProductDetail/Texas-Instruments/TMDSCNCD28069
Evtl. mit isoliertem USB-Interface drauf?
z.B. TMDSCNCD28035ISO 
https://www.mouser.de/ProductDetail/Texas-Instruments/TMDSCNCD28035ISO

Ich habe ein TMDSHVMTRPFCKIT (High Voltage Motor und PFC Kit) und kann 
nicht debuggen, evtl. ist der Jtag-Isolator auf dem Mainboard defekt.
https://www.mouser.de/ProductDetail/Texas-Instruments/TMDSHVMTRPFCKIT

von Larry (Gast)


Lesenswert?

> evtl. ist der Jtag-Isolator auf dem Mainboard defekt.

Das sollte sich ja messtechnisch eingrenzen lassen.
Das Piccolo-Launchpad (28027) hat ebenfalls einen isolierten JTAG.
Ob der fuer deine (Spannungs-)Ansprueche reicht?

> Beaglebone AI
> dass die beiden DSPs aufgemotzte Nachfahren des TMS320 sind.

Der Urvater war der TMS320C10. Dessen Architektur findet
man in den 16 Bit Nachfahren wieder.
Die beiden DSPs im Beaglebone sind im Gegensatz dazu:
"very-long-instruction-word (VLIW) architecture".


> gibt es nach dem Urlaub eine Mail

Da bin ich ja mal gespannt. (Wie das gehen soll.)

von Harald (Gast)


Lesenswert?

Larry schrieb:
>> gibt es nach dem Urlaub eine Mail
>
> Da bin ich ja mal gespannt. (Wie das gehen soll.)

Hallo Larry,

so wie Du den Beitrag Text reinschreibst kann das doch auch eine für 
diesen Zweck erstellte Mailadresse sein über die per Paypal bezahlt wird 
und über die der Bezahler nochmal seine genaue Lieferadresse mitteilt? 
Wo ist da das Problem?

Harri

von Larry (Gast)


Lesenswert?

> eine für diesen Zweck erstellte Mailadresse

Damit wuerde es wohl gehen.
Sowas brauch ich sonst nie...

Schoenen Urlaub noch.

von Jürgen S. (engineer) Benutzerseite


Lesenswert?

Falls was über ist, würde ich auch noch was nehmen, bevor es 
verschwindet. Ist wirklich schade drum.

Übrigens kam gerade diese Woche dieselbe Frage in der Music.DSP-Gruppe 
hoch, was so alles mit TMS320-Prozzis entwickelt wurde. Schon 
interessant.

Beitrag #6360643 wurde von einem Moderator gelöscht.
Beitrag #6360645 wurde von einem Moderator gelöscht.
Beitrag #6378212 wurde von einem Moderator gelöscht.
von DSPASM (Gast)


Lesenswert?

Generell sind die spezialisierten DSP`s nicht schlecht gegenüber 
FPGA-Varianten. Alles ist bereits verkabelt und man kann sofort loslegen 
mit dem programmieren. Bei den FPGA`s muss man erst alles konfigurieren, 
synthetisieren, implementieren,generieren. Dann bekommt man etliche 
Timingfehler und wenn mal ein Hardware-Projekt steht, dann sollte man 
daran tunlichst keine Veränderungen mehr machen. Weil dann intern wieder 
anders geroutet wird und wieder Timingfehler etc. entstehen. Erst dann 
geht es an die Programmierung. Die verbauten ADC`s sind eh für viele 
Anwendungen kaum nutzbar und wenn doch, dann ist der Chip ggü. 
DSP/ADC-Lösung um einiges teurer. Zudem sind manche Tools Bug behaftet, 
weil anscheinend die Chips zu komplex geworden sind.
Letztlich hat ein spezialisierter DSP parallele Pipelines für die 
Befehlsausführung, was ein DSP-Core im FPGA oft nicht besitzt. Allein 
die Ausführung von FFT`s direkt in Hardware hat aufgrund der 
Parallelisierung Geschwindigkeitsvorteile.
Aber DSP`s für Mobilfunkanwendungen - z.B. StarCore von NXP - haben 
mittlerweile alles mögliche an Bord und kosten nicht die Welt.

Die Eingangsfrage, ob der DSP heute noch eine Bedeutung hat, kann man 
zwar mit "Ja" beantworten, aber es ist z.Zt. einfach schick, FPGA`s zu 
benutzen.

von Klugscheisser (Gast)


Lesenswert?

> Letztlich hat ein spezialisierter DSP parallele Pipelines für die
> Befehlsausführung, was ein DSP-Core im FPGA oft nicht besitzt.

Wenn man zu doof ist, bei einem FPGA die Multiplizierer
und/oder MACs parallel bei Laune zu halten, kann man das
nicht dem FPGA anlasten.
Das Gegenteil ist richtig: Der FPGA hat weitaus mehr parallel
verfuegbare Ressourcen.

von DSPASM (Gast)


Lesenswert?

@Klugscheisser: Wie programmierst Du denn z.B. in C Deinen FPGA? Doch 
nicht in der Hardware. Dafür nimmst Du VHDL. Es geht jetzt auch nicht um 
die parallelen Strukturen in der Hardware, sondern um den DSP-Core im 
Processing System. Und dort wird weit weniger parallel an Befehlen 
abgearbeitet, als im reinen DSP.

von Bernd (Gast)


Lesenswert?

DSPASM schrieb:
> Generell sind die spezialisierten DSP`s nicht schlecht gegenüber
> FPGA-Varianten. Alles ist bereits verkabelt und man kann sofort loslegen
> mit dem programmieren.
Ja, richtig. Dafür fehlt die Freiheit fehlende Opcodes nachzurüsten.

> Bei den FPGA`s muss man erst alles konfigurieren,
> synthetisieren, implementieren,generieren. Dann bekommt man etliche
> Timingfehler und wenn mal ein Hardware-Projekt steht, dann sollte man
> daran tunlichst keine Veränderungen mehr machen. Weil dann intern wieder
> anders geroutet wird und wieder Timingfehler etc. entstehen.
Timingfehler entstehen nur, wenn das Design nicht richtig constraint, 
extrem auf Kante genäht oder das FPGA zu mehr als 80% voll ist. Da hat 
jemand offensichtlich seine Werkzeuge nicht im Griff.

> Die verbauten ADC`s sind eh für viele
> Anwendungen kaum nutzbar und wenn doch,
Welche verbauten ADCs? Wenn ich eine FPGA-Lösung wähle, dann kommen da 
die passenden ADC's ran. Abtastraten, Bitbreite, Zahl der Kanäle und die 
Wahl der Schnittstelle, für ein FPGA gibt es da keine Einschränkungen.

> dann ist der Chip ggü.
> DSP/ADC-Lösung um einiges teurer.
Das mag sein. Ist am Ende auch eine Frage von Stückzahlen und 
Entwicklungskosten.

> Zudem sind manche Tools Bug behaftet,
> weil anscheinend die Chips zu komplex geworden sind.
Und die DSP-Tools sind alle fehlerfrei? Komisches Argument.

> Letztlich hat ein spezialisierter DSP parallele Pipelines für die
> Befehlsausführung, was ein DSP-Core im FPGA oft nicht besitzt.
Quatsch.

von DSPASM (Gast)


Lesenswert?

Bernd schrieb:
> Ja, richtig. Dafür fehlt die Freiheit fehlende Opcodes nachzurüsten.
Bei einem DSP braucht man keine Befehle nachrüsten. Es gibt vielleicht 
ein paar must haves, die sind aber mit vorhandenen Codes umsetzbar.


> Timingfehler entstehen nur, wenn das Design nicht richtig constraint,
> extrem auf Kante genäht oder das FPGA zu mehr als 80% voll ist. Da hat
> jemand offensichtlich seine Werkzeuge nicht im Griff.

Wir sprechen hier auch von Takten höher 800MHz und mehrere 
angeschlossene ADC mit Deserializer etc. Und wenn ich bei 80% Füllgrad 
bereits den nächst größeren Chip kaufen darf, weil nix mehr geroutet 
werden kann, damm freuen sich Xilinx&Co und der Kunde quängelt.


> Und die DSP-Tools sind alle fehlerfrei? Komisches Argument.
Programmiere in Assembler und Du bist frei von Warnings und Errors, die 
aufgrund von Compilerschaltern und Multi-Pass Durchläufen erst im 
C-Compiler entstehen. Jetzt warte ich auf das Argument, wer programmiert 
noch in Assembler und das dauert doch um einiges länger. Der schaue im 
Internet nach, wo Firmen bereits im Zuge von verbesserter Rechenleistung 
und Energiesparsamkeit damit werben.


>
>> Letztlich hat ein spezialisierter DSP parallele Pipelines für die
>> Befehlsausführung, was ein DSP-Core im FPGA oft nicht besitzt.
> Quatsch.

Nenn mir einen DSP-Core für FPGA's, der mehr als 3 parallele Befehle 
abarbeiten kann.

Und zuletzt braucht ein FPGA oft etliche Versorgungsspannungen, die 
zudem im richtigen Rhythmus eingeschaltet werden müssen.
Ich will die FPGA's nicht schlecht machen, aber DSP's haben durchaus 
eine Bedeutung.

von Max H. (nilsp)


Lesenswert?

Oh, da werden Erinnerungen wach.

Ich habe um 2005 rum wirklich viel Spaß mit den DSPs gehabt. Wenn man 
die acht Execution-Units voll ausnutzt und per DMA die Daten vom 
Hauptspeicher in das interne RAM schaufelt (so das es keine Cache-Misses 
gibt) hat der DSP eine brachiale Rechenleistung. Zumindest für 2005 
Verhältnisse.

Die DSP Cores tauchen immer wieder als Co-Prozessoren in den TI SoCs auf 
(OMAP, Sitara). Gern auch mal getarnt unter dem Namen IVA-HD Subsystem.

Der Beagle-Bone AI hat damit drei DSPs an Board.

Wenn man sich das Datenblatt reinzieht gibt es übrigens einige 
Überraschungen zu entdecken: Vielen der C64x+ Varianten haben eine Video 
Acceleration Peripherie. Da findet man unter dem ominösen Namen 
Sequencer ein kompletten ARM9 Core, der als Co-Pro zum DSP läuft. Hat 
eigenes RAM, läuft also komplett ohne Cache-Misses. Und Zugriff auf 
EDMA3 hat er auch. Damit bekommt man DMA Speicher Zugriffs Patterns in 
den Griff, die der eh schon gute EDMA3 alleine nicht hin bekommt.

Habe mir mal den Spaß gemacht das Teil zu booten.

Ich hab noch 'ne schöne Fixed-Point CORDIC Implementierung für 
Umwandlung von Cartesischen auf Polare Koodinaten hier, die ich mal in 
Assembler geschrieben habe. Läuft mit 1.5 Cycles pro Cordic Iteration (8 
Umwandlungen zeitgleich). Wenn die einer sehen will poste ich die 
gerne..

von Klugscheisser (Gast)


Lesenswert?

> Nenn mir einen DSP-Core für FPGA

Was soll denn der Unsinn.

Bereits ein strunzig alter Cyclone 2 (der allerkleinste)
kann 13 mal parallel 18 bit mit 18 bit multiplizieren.
Der groesste hat 150 von diesen Multiplizierern.
Die sich auch zu anderen Wortbreiten zusammenschalten lassen.
Und auf denen spielt die Musik. Nicht auf einem ominoesen
"DSP-Core". Und der Cyclone 2 ist nun wahrhaftig nicht
das Flaggschiff der FPGAs zur Signalverarbeitung.

> Programmiere in Assembler und Du bist frei von Warnings und Errors

Auch das taeuscht maechtig. Allein die TI-DSPs der TMSC5xyz-Serie
haben mehrere "Silicon Revisions" durchlaufen, in denen z.B.
Abhaengigkeiten (aka Fehler) in der Codeausfuehrung bereinigt wurden.
Stellenweise wurde/wird da auch noch im Assembler nachgeholfen.

> ein FPGA oft etliche Versorgungsspannungen

Das gibt genug DSPs bei denen das auch so ist.
Den Core mit anderen (kleineren) Spannungen laufen zu lassen
als IO, ist ja auch irgendwo sinnvoll.

von DSPASM (Gast)


Lesenswert?

Klugscheisser schrieb:

> Bereits ein strunzig alter Cyclone 2 (der allerkleinste)
> kann 13 mal parallel 18 bit mit 18 bit multiplizieren.
> Der groesste hat 150 von diesen Multiplizierern.
> Die sich auch zu anderen Wortbreiten zusammenschalten lassen.
> Und auf denen spielt die Musik. Nicht auf einem ominoesen
> "DSP-Core". Und der Cyclone 2 ist nun wahrhaftig nicht
> das Flaggschiff der FPGAs zur Signalverarbeitung.

Nimm z.B. zwei Signale mit je einer Tiefe von 1024...8192 Wörtern und 
meinetwegen 18Bit Breite auf und korreliere die dann. Da kommst Du mit 
dem strunzigen Cyclone nicht weit. Dafür brauchst Du schon etwas mehr an 
Zellen oder DSP-Slices, um das zu berechnen. Dann musst die die 
Originalsignale natürlich noch im internen Speicher vorhalten, die 
Korrelationskurve evtl. auch noch zwischenspeichern, vielleicht noch 
Platz für einen µC oder DSP-Core (falls man nicht extern einen anbauen 
will) usw. Kostet alles Platz und Geld.

von Klugscheisser (Gast)


Lesenswert?

> Da kommst Du mit dem strunzigen Cyclone nicht weit.

Ei sicher wird es Aufgabenstellungen geben, in denen schlicht
mehr gefragt ist. Darum ging es mir ja gar nicht.
Ich kann bei meinen Aufgaben fast immer parallelisieren und
vom Vorhandensein mehrerer Funktionsbloecke profitieren.
Und das in einem weitaus hoeherem Mass, als parallele
Adressrechnungen, mehrere Datapaths und multiple Instruktionen
es bei einem DSP zulassen wuerden.
Daher ist fuer mich der Gedanke an einen "DSP-Core" im
FPGA voellig abwegig, der irgendwo einen oder von mir aus
auch mehrere DSP emuliert. Weil mich das auf genau das Niveau
zurueckwirft, wo ich vorher ohne FPGA war.

Natuerlich kann man einen Softcore (NIOS2 etc.) benutzen,
um Dinge die fuer den eigentlichen Algorithmus/men
zeitunkritisch sind, ablaufen zu lassen. Aber eben nicht
als signalverarbeitender DSP.

In "meiner" Ziel-HW steckt ein Cyclone 3 EP3C25 nebst
8 MB RAM und den Codecs. Und da brauche ich mir was die
verfuegbaren Ressourcen angeht, im Moment noch ueberhaupt
keine Gedanken machen.

von Lowlevel (Gast)


Lesenswert?

Max H. schrieb:

> Ich hab noch 'ne schöne Fixed-Point CORDIC Implementierung für
> Umwandlung von Cartesischen auf Polare Koodinaten hier, die ich mal in
> Assembler geschrieben habe. Läuft mit 1.5 Cycles pro Cordic Iteration (8
> Umwandlungen zeitgleich). Wenn die einer sehen will poste ich die
> gerne..

Klar, stell sie mal hier rein.

von Gustl B. (-gb-)


Lesenswert?

DSPASM schrieb:
> Nenn mir einen DSP-Core für FPGA's, der mehr als 3 parallele Befehle
> abarbeiten kann.

Was ist denn ein "DSP-Core"? Man bekommt aktuell recht preiswert FPGAs 
mit >100 DSP Slices, das geht hin zu weit über 1000 DSP Slices in einem 
Chip die natürlich alle zeitgleich rechnen können.
https://www.xilinx.com/support/documentation/user_guides/ug579-ultrascale-dsp.pdf
Ich verwende aktuell einen Artix7 100, und nutze da drinnen 235 von den 
240 DSPs. Die arbeiten bei 250 MHz gibt also 58*10^9 Multiplikationen/s. 
In klein und preiswert bei < 2 W Verlustleistung.

> Und zuletzt braucht ein FPGA oft etliche Versorgungsspannungen, die
> zudem im richtigen Rhythmus eingeschaltet werden müssen.
> Ich will die FPGA's nicht schlecht machen, aber DSP's haben durchaus
> eine Bedeutung.

Jo, braucht er. 1.0 V, 1.8 V, 2.5 V, 3.3 V. Und? Ich beachte da keine 
besondere Reihenfolge und es funktioniert wunderbar.

von Max H. (nilsp)


Angehängte Dateien:

Lesenswert?

Lowlevel schrieb:
> Klar, stell sie mal hier rein.

Gerne. Hier das Highlight vom Compiler:

  Loop Carried Dependency Bound(^) : 7
  Unpartitioned Resource Bound     : 12
  Partitioned Resource Bound(*)    : 12

  ii = 12 Schedule found with 2 iterations in parallel


Das C Äquivalent (für ein Complex Value):

void cordicXY2RT ( int x, int y, int *r, int *theta)
/////////////////////////////////////////////////////
{
  int i;
  int z = 0;

  for (i=0; i<16+3; i++)
  {
    int xa,ya;
    int angle = atantab[i];
    int shift = i-2;
    if (shift < 0) shift = 0;
    ya    = y >> shift;
    xa    = x >> shift;
    if (y < 0)  { x -= ya, y += xa, z -= angle; }
    else        { x += ya, y -= xa, z += angle; }
  }

  *r     = fixmul16 (x, scaleK);
  *theta = z;
}

Der Trick war, die Conditionals loszuwerden. Da ich 8 Werte gleichzeitig 
umwandel reichen die Conditional Register nicht. Zudem sitzen die D und 
M Units die ganze Zeit faul rum.

Über cmplt erzeuge ich mir eine Zahl zwischen 0 und 1 für den Vergleich.

Über addah wandel ich das in -1 oder 1 um (geht durch die D Unit). Das 
geht dann in die M-Unit. Die Conditionals sind danach nicht mehr 
notwendig, die L und S Units entlastet. So kommt man auf die 12 Cycles 
für 8 Werte Parallel.

von Max H. (nilsp)


Angehängte Dateien:

Lesenswert?

Ist nicht mein Tag :-)

: Bearbeitet durch User
von Max H. (nilsp)


Angehängte Dateien:

Lesenswert?

Hier noch mal das Linear Assembler File..

von homo erectus (Gast)


Lesenswert?

Harald schrieb:

> Wer von Euch hatte denn das letzte mal beruflich oder im Hobby noch mit
> dem TMS320 zu tun? Bin gespannt ob es da noch welche gibt und was waren
> Eure Anwendungen auf dem DSP von TI?

2000 Diplomarbeit im Bereich Avionik.

von Clemens L. (c_l)


Lesenswert?

Harald schrieb:
> Hat der TMS320 da überhaupt noch einen Marktanteil im Vergleich zur
> Konkurrenz?

TI würde sich sonst nicht die Mühe machen, neue Modelle rauszubringen:
https://www.ti.com/prod-list/new-products#Microcontrollers%20%28MCU%29

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.