Ampelmodell " 4 * ( grün, Gelb, Rot )

OP #3673145
Lesenswert?

Hallo Zusammen,
ich bin auf euere Hilfe angewiesen!
Ich muss mittels TMS320 C2000 von Texas Instruments ein Ampelmodell " 4 
* ( grün, Gelb, Rot )realisieren. Ich komme mit der Entwicklungsumgebung 
garnicht klar und stehe unter Zeitdruck.
Ich bin neu in der microcontrollerwelt und wäre sehr für jede Hilfe sehr 
dankbar.
Viele Grüße
#3673147
Lesenswert?

@Tarrr sammm (ta_sam)

>Ich muss mittels TMS320 C2000 von Texas Instruments ein Ampelmodell " 4
>* ( grün, Gelb, Rot )realisieren.

Schöner COntroller, aber um Größenordnungen zuviel für sowas einfaches.

> Ich komme mit der Entwicklungsumgebung
>garnicht klar und stehe unter Zeitdruck.
>Ich bin neu in der microcontrollerwelt und wäre sehr für jede Hilfe sehr
>dankbar.

Wenn du nen'n schnellen Snack willst, geht zu McDonalds. Einfach mal 
Hopp-Hopp wird das nichts.
Gast #3673183
Lesenswert?

Tarrr sammm schrieb:
> aber wie ich dieses Modell realisieren soll " 12 LED´s steuern "

Die 12 LED hängen doch alle irgendwie logisch zusammen, d.h. du solltest 
dir erstmal überlegen, welche Zustände deine Kreuzung annehmen kann. 
Dann baust du dir einen Zustandsautomaten, der z.B. einfach 
zeitgesteuert sein kann, oder aber auch durch Ampelanforderungen 
(Fußgänger drückt, Bus hat Vorzugsfahrt) beeinflußt werden kann. Mit den 
Zuständen steuerst du dann, z.B. über eine Tabelle, deine 12 Lichter.
#3673217
Lesenswert?

Vielleicht weil einfach zusammen kopieren einfach nicht geht. Nase ins 
Buch..... Eine Statemschine ist nun wirklich nichts schweres , und wenn 
du mit der Umgebung nicht zurechtkommst , naja..

Wenn ich da mal gedanklich reininterpretiere, Schule, nicht immer 
aufgepasst, und jetzt in letzter Sekunde was zusammen wursteln ? Kennt 
jeder,  hat jeder schonmal gemacht, jeder weis das es nicht läuft.
OP #3673263
Lesenswert?

genau das ist mein Problem. Vielleicht ist mein grösste Problem die 
englische Sprache und deswegen hoffe ich auf eure Hilfe.

Die Adressen Bzw die Register und ob ich ISR nutzen muss oder ob es mit 
einem einfachen C-Quellcode realisieren kann, das sind Punkte die mir 
noch ganz unklar sind.
ich bitte daher um Hilfe
#3673275
Lesenswert?

@ Tarrr sammm (ta_sam)

>genau das ist mein Problem. Vielleicht ist mein grösste Problem die
>englische Sprache und deswegen hoffe ich auf eure Hilfe.

Das wird schwierig. Praktisch alle Programmiersprachen basieren auf 
Englisch, die Doku der meisten gibt es nur in Englisch.

>Die Adressen Bzw die Register und ob ich ISR nutzen muss oder ob es mit
>einem einfachen C-Quellcode realisieren kann, das sind Punkte die mir
>noch ganz unklar sind.

Und du willst in 4 Wochen einen 32 Bit Controller ansatzweise 
beherrschen? Oje.

Für eine einfache Ampel braucht man keine Interrupts, die einzigen 
Register die man braucht sind die GPIOs. Der Rest ist einfach(stes) C.
OP #3673306
Lesenswert?

void A1(void) // SCI-GUI
//--------------------------------------------------------
{
  SerialHostComms();    // Serialport controls LED2 (GPIO-31)
              // Will not blink until GUI is connected

  if(LedBlinkTimer == 0)
  {
    GpioDataRegs.GPBTOGGLE.bit.GPIO34 = 1;    // toggle GPIO34 which 
controls LD3 on most controlCARDs
    #if DSP2834x_DEVICE_H
    GpioDataRegs.GPBTOGGLE.bit.GPIO54 = 1;    // toggle GPIO54 which 
controls LD3 on the C2834x DIMM100 controlCARD
    #endif

    LedBlinkTimer = Gui_LedPrd_ms >> 1;      // divide by 2 (one LED 
blink period is 2 LED toggles)
  }
  else
  {
    LedBlinkTimer--;
  }
Gast #3673309
Lesenswert?

Wenn Du eine LED blinken lassen kannst, würde ich dieses Programm nehmen 
und am Blink-Ausgang alle 4 gelben LEDs anschließen. Die restlichen 
grünen und roten lässt Du einfach weg. Dann blinken alle gelben LEDs, 
und die Autofahrer müssen die normalen Vorfahrtregeln beachten.

Problem gelöst.
#3673316
Lesenswert?

Tarrr sammm schrieb:
> das Beispielprogramm " LED-Blinken " ist bereits drauf!!!!

Ich nehme an, du hast das selber compiliert und auf den Controller drauf 
bekommen? Na, dann hast du ja schon mal die Umgebung einigermaßen im 
Griff. Das Herleiten der zweiten LED (Beschaltung, Ansteuerung) gemäß 
der ersten LED müßte doch auch möglich sein, oder?

Ansonsten wurde ja schon mal gesagt: Mach dir ein Zustandsdiagramm, und 
bescheribe wann welche LED wie lange leuchten soll. Das gibt dann im 
einfachsten Fall (wenn alles auf einem starren Zeitraster-Taktung von 
z.B. 1 Sekunde basiert) auf eine Liste ählich wie:

Z1: 00-03 Grundzustand: alle ROTE LED an (Kreuzung total gesperrt)
Z2: 04-04 Ampel senkrecht  Rot-gelb, ampel Waagerecht: bleibt rot
...

Irgendwann hast du alle möglichen Zustände fertig beschrieben. Dann mußt 
du dir überlegen, wie du die Sache in Programmiersprache umsetzt. Die 
faulste Methode wäre:

Programmstart:
Z1: Setze alle Lampen gemäß Zustand Z1; warte Z1 sekunden lang
wiederhole bis unendlich:
   setzte alle LED gemäß Zustand Z2, warte Z2 sekunden lang
...
ende der Wiederholschleife
#3673319
Lesenswert?

@ Tarrr sammm (ta_sam)

>das Beispielprogramm " LED-Blinken " ist bereits drauf!!!!

Schön, aber hast DU es verstanden?

Beim C2000 Lauchpad, aka PICCOLO ist schon ein schönes Demo drauf 
und es gibt auch das komplette Projekt bei TI zum Download! Das kann man 
im Code Composer Sutio einfach aufmachen und einfach ändern!

Damit kriegt man auch eine Ampel in 4 Wochen hin! Sogar mit Timer und 
allem.

Fang erstmal damit an, das vorhandene Projekt LEICHT zu ändern. Lass man 
die 4 LEDs mit anderen Mustern blinken.
#3673338
Lesenswert?

Hier http://www.ti.com/product/TMS320F28069/technicaldocuments ist dein 
Prozessor beschrieben. Hast du denn keine Dokumentation zu deinem 
Experimentiersatz dazu bekommen? Sind die 12 LED schon angeschlossen, 
sodaß du geich programmieren kannst? Gibt es dazu eine Dokumentation, wo 
die angeschlossen sind?

Strukturen wie diese: GpioDataRegs.GPBTOGGLE.bit.GPIO34
sollten in der Hilfe deiner Entwicklungsumgebung zu finden sein (und 
hier im Forum: Beitrag "Re: Registerbeschreiben in Code Composer v4 auf TMS320F2808" ).
#3673393
Lesenswert?

Tarrr sammm schrieb:
> Ich habe vom professor nur den controller bekommen, die software dazu
> musste ich sogar selber aus der seite installieren

wahnsinn! Das sind ja mal Anforderungen!

Dir ist aber schon klar, (wenn du "Professor" schreibst vermute ich das 
zumindest mal) Daß du irgendwann mal selbstständig als Ingenieur 
arbeiten wirst, und sogar andere Menschen anleiten wirst, etwas zu tun? 
Fühlst du dich einer solchen Verantwortung und Aufgabe gewachsen?

Tarrr sammm schrieb:
> Es ist leider so und ich muss die leistung bringen ansonsten bin
> ich durchgefallen

könntest du das angesichts des vorherigen Gesagten nachvollziehen, warum 
du durchfallen würdest?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren