Forum: Digitale Signalverarbeitung / DSP / Machine Learning Mal aus Interesse, wer beschäftigt sich zurzeit mit dem TMS320F28027? (privat)


von Tim R. (mugen)


Lesenswert?

Da ich ja beruflich mit den größeren DSPs arbeite und manchmal eigene 
Ideen ausleben würde, habe ich mir den TMS320F28027 von Texas 
Instruments vorgeknöpft. Leider beschäftigen sich nicht viele Mitglieder 
mit der DSP/DSC/MCU Produktlinie von Ti. Zurzeit verfolge ich keine 
größeren Ziele oder Ideen und werde diesen Prozessor erstmal ordentlich 
initialisieren und testen. Sollte der TMS320F28035 in der Produktion 
gehen, dann würde ich mir diesen Mikrocontroller auch sehr gerne 
ansehen. Also wer Lust auf guten Informationsaustausch hat. Ich bin für 
diese zwei Prozessoren offen.

Initialisierung heißt für mich:

- modulare Software-Ansteuerung in C
- Initialisierung der internen Peripherien
- Software-Tools um die Peripherien anzusprechen

Gruß, Tim

von Olaf (Gast)


Lesenswert?

> - modulare Software-Ansteuerung in C

Gibt es fuer die Teile denn einen freien C-Compiler?
Das kommerzielle Zeugs kann oder will man sich als
Privatmensch doch normalerweise bei DSPs nicht leisten.

Olaf

von Tim R. (mugen)


Lesenswert?

Einen freien C-Compiler gibt es nicht, aber eine freie Code Composer 
Studio Version die limitiert ist. Die Limitierung liegt bei 32k und 
reicht für die Piccolos aus.

Link:

http://software-dl.ti.com/dsps/dsps_registered_sw/sdo_ccstudio/CCSv3/CCS_v3.3_ImageUpdate2k_3.3.83.14_Limited.zip



Den 1-Day Workshop zur schnellen Einführung finde ich persönlich sehr 
brauchbar:

http://focus.ti.com/docs/training/catalog/events/event.jhtml?sku=1DW000328

Files: http://www.ti.com/litv/zip/sprt517



TMS320F28027 Seite:

http://focus.ti.com/docs/prod/folders/print/tms320f28027.html

Zuerst würde ich mir das normale Datenblatt ansehen:

http://www.ti.com/lit/gpn/tms320f28027

Und sehr wichtig wäre System Control and Interrupts Reference Guide:

http://focus.ti.com/general/docs/litabsmultiplefilelist.tsp?literatureNumber=sprufn3a




Evo-Board:

http://www.ti.com/corp/docs/landing/piccolotools/index.htm?DCMP=Piccolo&HQS=Other+OT+controlstick

Ich selber habe über meinem privaten Acc den USB-ControlStick bei Ti 
bestellt und beinhaltet alles was das Herz begehrt. Komplett mit JTAG 
und Debug-Möglichkeiten. Ich persönlich finde diesen Stick äußerst 
günstig.

Für weitere Entwicklungen ist ein JTAG  Adapter notwendig:

http://www.olimex.com/dev/tms320-jtag-usb.html

Ich persönlich würde aber einen JTAG Adapter von Spectrum Digital mir 
besorgen:

http://www.spectrumdigital.com/product_info.php?cPath=22&products_id=224

Sollte der Preis von 50 bis 70 Euro zu hoch erscheinen, dann könnte man 
eigentlich sich einen JTAG Adapter aus den ControlStick zurecht basteln.

Gruß, Tim

von Friedrich (Gast)


Lesenswert?

Hallo Tim,

ich bin auch vor wenigen Wochen über den F28027 gestolpert und finde ihn 
sehr beachtenswert. Aufgrund einer Applikation (PWM, A/D) die ich 
umsetzen möchte eignet sich dieser Controller anscheinend (Datenblatt) 
sehr gut. Werde voraussichtlich den experimenter-kit beschaffen da etwas 
besser handhabbar (Signale besser ausgeführt, satbiler, Stromversorgung, 
...) und für diesen Experimenter Kit gibt es auch de F28035 Stick. Da 
Bestellung noch nicht abgesendet:

Wer hat Interesse an Sammelbesellung (USA)?

friedrich.janus@weihenstephan.org

von Michael K. (Gast)


Lesenswert?

@Friedrich
Kannst du die genaue Bezeichnung, den ca.-Preis und evtl. einen Link zur 
entsprechenden Seite liefern?

von Friedrich J. (franjuja)


Lesenswert?

@ all (auch Michael)

http://www.ti-estore.com/Merchant2/merchant.mvc?Screen=PROD&Product_Code=TMDXDOCK28027

Zu finden auch unter google mit dem Begriff "Piccolo experimenter Kit 
AEC14928U".

Ist ein Grundboard mit Piccolo F28027 Riegel für 79USD. Bezug über 
meinen account in USA, versandkosten etwa 16USD (zu teilen). Kommt evtl. 
Einfuhr-UST dazu und Zoll. Geschätzt gesamt etwa 80-100 EUR.

Ist mit USB JTAG emulation und Code Composer Studio 32k free.

rgds

von Friedrich J. (franjuja)


Lesenswert?

Hallo Michael, hello @all.

Den Eintageskurs von TI gibt es MIT dem 39USD Dongle für 70EUR (incl. 
Märchensteuer) und Lunch. Findet in Landshut statt. Besser denke ich 
kommt man in das Thema nicht rein :)).

Wir können uns ja dort sehen - ich bin dabei ;)

rgds FJ

von Gast (Gast)


Lesenswert?

Ich befase mich mit einem TMS320 - allerdings nicht genau diesem Typ.
Was willst denn wissen?

von ... (Gast)


Lesenswert?

> dann könnte man
> eigentlich sich einen JTAG Adapter aus den ControlStick zurecht basteln.

Hat das schon einer probiert?

von Tim R. (mugen)


Lesenswert?

Die Initialisierung und die Programmierung von kleinen Funktionen 
schreitet bei mir recht gut voran.

Den TMS320F28035 werde ich erst anfassen, wenn ich den TMS320F28027 
ausreichend kennengelernt habe. Der CLA muss in Assembler programmiert 
werden, daher möchte ich mich erstmal nicht damit belasten.

Eventuell werde ich die nächsten Tage, bzw. Wochen ein kleine 
Zusatzplatine für Evo-Board Piccolo layouten. Dies würde die 
Inbetriebnahme der einzelnen Peripherien erleichtern und Resultate sind 
zu sehen. Ich bin nur am überlegen welche sinnvollen Bauteile da so rauf 
müssen.

@ Friedrich
Für ernsthaftere Anwendung werde ich mir bestimmt das größere Experiment 
Kit TMDXDOCK28027 +  TMDXCNCD28027 besorgen, steht aber zunächst nicht 
an.
Das Kit ist doch ohne Riegel oder?

von Tim R. (mugen)


Angehängte Dateien:

Lesenswert?

Hier die Texas_28x_Piccolo.lbr die erstmal nur den Mikrocontroller 
F2802x beinhaltet. Die lbr wurde mit Eagle v5.6 erstellt. Für Leute die 
nun gerne etwas layouten möchten. Sollte diese lbr Fehler beinhalten, 
dann würde ich mich über einen Hinweis sehr freuen.

von Friedrich J. (franjuja)


Lesenswert?

@ Tim (mugen):

Das Kit ist MIT Riegel:
Quote: "Each kit contains a 28027 controlCARD".

Ansonsten gibt es die ControlCard (Riegel) für 49USD
http://focus.ti.com/docs/toolsw/folders/print/tmdxcncd28027.html
separat.

Bester Überblick:
http://focus.ti.com/mcu/docs/mcuprodtoolsw.tsp?sectionId=95&tabId=1222&familyId=916&toolTypeId=1

Grüße

von Tim R. (mugen)


Lesenswert?

@ Friedrich

Günstig Günstig sage ich da nur. Bei einer Sammelbestellung wird 
sicherlich Zoll, bzw. Umsatzsteuer anfallen. Aus diesem Grund würde ich 
Einzelbestellungen empfehlen. Der Versand erfolgt übrigens über FedEx.

von Udo (Gast)


Lesenswert?

Ich bin quasi blutiger Anfänger mit der C2000 Serie von TI. Habe auch 
ansonsten nur geringe Erfahrung im ATMEL 8-Bit Bereich. Ich muss mich 
jetzt aber mit der C2000 Serie befassen. Ich habe hier zum Einarbeiten 
das Experiment Kit TMDXDOCK28027 +  TMDXCNCD28027 liegen.
Zum testen habe ich nun die BlinkingLED Demo von TI in den Controller 
gespielt und die LED ist auch schön am blinken. Das Programm wurde in 
den RAM übertragen. Jetzt würde ich das Programm gerne in den internen 
Flash-Speicher spielen damit das Programm durch abziehen der 
Spannungsversorgung nicht gelöscht wird. Aber wenn ich das Programm in 
den Flash übertragen will kommt immer folgender Fehler:
Data verification failed at address ox3F41FC. Please verify target 
memory and memory map.

Nach meinen bisherigen Recherchen liegt das Problem wohl irgendwo im 
Linker. Damit kenne ich mich aber leider überhaupt nicht aus. Kann mir 
da wohl jemand etwas Starthilfe geben. Danke schon mal.

von Friedrich J. (franjuja)


Lesenswert?

Hallo Udo,

bin leider noch nicht so weit gekommen. Habe mir aber die Doku 
angesehen. Die genannte Addresse 3F4xxx liegt mitten im Flash Speicher. 
Nachdem Du aussagst, daß der Fehler wiederholbar immer an der gleichen 
Stelle auftritt denke ich daß hier systematisch etwas falsch ist. a) 
Stimmt die Memory Map? b) Wurde das Memory mit den Kopierroutinen aus 
dem SRAM geflasht? c) Was sagt Deine Doku über die Vorgehensweise zum 
Flashen aus?

rgds

von Udo (Gast)


Lesenswert?

Ich muss gestehen, dass ich gar nicht genau weis wie die Memory Map 
aussehen müsste bzw. was die Memory Map überhaupt genau ist. Bin halt 
doch noch ziemlicher Anfänger...

von Friedrich J. (franjuja)


Lesenswert?

Hallo Udo,

schau mal in die F28027_FLASH_FlashingLeds.cmd rein. Da stehen Memory 
Maps drinnen. Dabei ist auch erkennbar, daß 3F4xxx zu den DatenSegmenten 
gehört (PAGE1, ... FLASHB). Versuche herauszubekommen, was in die 
spezifizierte Addresse geschreiben werden soll.

Oder: Mache in CCS einen Build mit dem richtigen Prozessor (F28027 und 
FLASH) und schau dir nachher den Build output an (e.g.FlashigLeds.map).

rgds

von Udo (Gast)


Lesenswert?

Hallo Friedrich,

danke für deine Antworten, heute komme ich da aber wahrscheinlich nicht 
mehr zu. Werd dann morgen mal gucken. Würde mich aber freuen wenn man 
sich hier auch in den nächsten Wochen weiter über die Thematik C2000 
austauschen könnte.

Gruß Udo

von Friedrich J. (franjuja)


Lesenswert?

Hallo Udo,

habe Dein Vorgehen versucht nachzuvollziehen. Demnach hast Du einfach 
versucht, die Flash Variante per Build zu erstellen und dann per 
File/Load in System zu laden. dabei erscheint einen Fehlermeldung "One 
or more sections of your program falls into a memory region that is not 
writable" im Message window (unten). Das dürfte sich darauf beziehen, 
daß das CCS nicht in der Lage ist, den Bereich 3f4xxx (bei Verwendung 
des von mir angegebenen Memory Maps 3F6xxx) im Flash direkt zu 
schreiben. Die von Dir angegebene Addresse dürfte die .cinit aus der map 
Datei sein? Korrekt?

rgds fj

von Friedrich J. (franjuja)


Lesenswert?

Hallo Udo,
schau dir die spraal3 an (Flashing_Programming), dort wird expliztit 
besprochen wie das Flash mit CodeComposer Studio geflasht wird - is 
easy.
Wenn Du Dich daran hälst geht alles glatt - haps gratt ausprobiert :))

von Udo (Gast)


Lesenswert?

Jo, geht. Das ist ja dann doch recht simpel gewesen ;-)

von Udo (Gast)


Lesenswert?

Gibts eigentlich gar kein Datenblatt zu den Timern? Ich finde nämlich 
keins.

von Michael K. (Gast)


Lesenswert?

>Gibts eigentlich gar kein Datenblatt zu den Timern? Ich finde nämlich keins.
Falls du die CPU-Timer meinst: SPRUFN3B

von Udo (Gast)


Lesenswert?

Jetzt hab ich noch son eigenartiges Problem mit einer lokalen Variablen 
(uint 16).
Wenn ich das Programm für RAM kompilieren und übertrage dann 
funktioniert die Variable.
Wenn ich das Programm für Flash kompilieren dann funktioniert sie nicht. 
Wenn ich mir die Varible im Watch anschauen möchte, dann steht dort die 
Meldung: memory map prevented read of target memory at 0x00009806@Data

von Tobias Korrmann (Gast)


Lesenswert?

Das kann CCS liegen.
Die Software nicht so doll, er Optimiert solche lokalen Variablen gerne 
mal weg.
Mach daraus eine Globale und du müstest sie dir im Watch Window 
anschauen können.

von Friedrich (Gast)


Lesenswert?

War heute im Workshop.
News: es wird wohl ein CCS4.0 noch dieses Jahr geben dessen Umgebung 
dann anders aussehen wird. Ob dieses dann ganz frei sein wird kann ich 
nicht sagen, ist aber IMHO nachwievor eine Oberfläche über die bereits 
vorhandenen Toolchain(PP, Compiler, Assembler, Linker, ...).
Der Workshop hat sich an der Doku des Workshops entlanggearbeitet und 
ist zeitlich dicht gestaffelt, die Labs (Übungen, 4 Stück) sind auch 
straff durchgearbeitet - Vorkenntnisse des CCS empfehlenswert.
Goodie: Am Schluss noch ein Projekt von Scratch aufgesetzt - das war 
dann die beste Übung um komplett neu anzufangen, geht aber nur sehr 
bedingt mit den Files aus dem Workshop. Am besten mit SPRC832 neu 
aufsetzten.
Das mit dem Arbeiten aus dem Flash ist dann doch nicht so einfach: Das 
Programm kann zwar schön gelinkt werden und geflasht werden, Zugriffe 
auf die Flash-ControlRegister (Waitstates) gehen aber nur aus dem RAM - 
heißt Routine ins RAM kopieren und anspringen. Dafür gibt es aber ein 
Beispiel.
Ansonsten habe ich bisher keinen derart komplexen ADC und PWM gesehen.
rgds fj

von Udo (Gast)


Lesenswert?

Der TMS320F28027 hat an PIN16 zum Beispiel folgende Funktionen:

ADCINB4/COMP2B/AIO12

Im Datenblatt steht zu AIO12 folgendes:

I/O Digital AIO12

Kann man diesen Pin also auch als digitalen Ausgang benutzen? Wenn ja, 
wie kann ich den entsprechend initialisieren? Ich finde das irgendwie 
nicht.

Udo

von friedrich (Gast)


Lesenswert?

Hallo Udo - war etwas abwesend :))

Vielleicht hilft Dir SPRUFN3 (SysCtrl & Int) auf Seite 73 weiter. Dort 
wird die beschaltung des Blockes anhand eines Blockschaltbildes 
beschrieben.

Grüße

fj

von friedrich (Gast)


Lesenswert?

Frage and die Community der TI Piccolo control stick user.

Wie kann ich auf dem Control Stick mit einem Terminal auf die SCIA 
zugreifen die dort ja mit dem USB Chip verbunden ist. Hat das jemand in 
Gebrauch? Versuche mit normalen Terminalprogrammen als auch dem CCS4 
Terminal scheitern, anscheinend ist der Kanal B des USB Chips nicht über 
COM3 ansprechbar.

Grüße fj

von friedrich (Gast)


Lesenswert?

Ha - solved !!

Der Piccolo Control Stick kann nicht per standard über den B-Kanal des 
USB chip kommunizieren da dieser (FTDI232) nicht dafür programmiert ist. 
ABER:
es ist beschrieben wie dieser aber auch die Piccolo control boards 
umprogrammiert werden können. Danach ist der B-Kanal des FTDI als 
virtueller Com Port installiert und kann problemlos über CCS4 mit dem 
Terminal angesprochen werden.
Siehe: http://e2e.ti.com/forums/t/6237.aspx?PageIndex=1

grüsse fj

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.