Forum: Mikrocontroller und Digitale Elektronik Cortex M3 - Interruptkanal zweckentfremdet


von K.P.M (Gast)


Lesenswert?

Hallo Leute,
Ich würde gerne am Cortex M3 den Interruptkanal nutzen um kleine 
datenpackete hin und her zuschicken. Also Paralell zu dem eigentlichen 
Datenkanal. Ist sowas prinzipiell möglich? und Wenn ja, kennt ihr 
vieleicht Beispiele oder Vorschläge wie sowas gemacht werden könnte?

danke im Voraus
MFG

von Kurt Häuser (Gast)


Lesenswert?

Was machst du überhaupt und was ist ein Interruptkanal? Sowas wie ein 
Lokusabfluss?

von K.P.M (Gast)


Lesenswert?

Es gibt doch soweit ich weis einen extra kanal für interruptroutine. 
Diesen will ich eben nicht für Interrupt nutzen sondern für 
I/O-Datentransfer halt.

von Sunny (Gast)


Lesenswert?

Meinst Du vielleicht während des Debug-Modus die ITM-Kanäle oder 
ähnliches ? Anhand Deiner Beschreibung werd' ich nicht schlau, sorry.

von K.P.M (Gast)


Lesenswert?

Jetzt weis ich wiederum nicht was mit ITM-Kanal gemeint ist. Sorry ich 
bin eigentlich auchn Anfänger. Also im Auftrag der Firma soll ein 
C-Programm mit µVision geschrieben werden, das aus gründern der 
effizienz und Geschwindigkeit die Datentpackete zwischen PC und 
Controller über Intrruptkanal, also da wo normalerweise die 
Interruptbefehle geschickt werden versendet. So oder so lautet 
jedenfalls die Aufgabe.

von (prx) A. K. (prx)


Lesenswert?

Wird schwierig, dir Tipps zu gegen, wenn du weder die Fragestellung noch 
die Arbeitsweise von Controllern und Interrupts verstanden hast, und 
auch die Fragestellung nicht im Original hier reinstellst, sondern nur 
das was du da reininterpretierst.

von Klaus der 3. (Gast)


Lesenswert?

K.P.M schrieb:
> Datentpackete zwischen PC und Controller über Intrruptkanal

Ich verstehe das so, dass einfach die Interrupts des UART  USB  
Ethernet benutzt werden sollen. Evtl. noch über DMA!?

von Hoschi (Gast)


Lesenswert?

A. K. schrieb:
> Wird schwierig, dir Tipps zu gegen, wenn du weder die Fragestellung noch
> die Arbeitsweise von Controllern und Interrupts verstanden hast, und
> auch die Fragestellung nicht im Original hier reinstellst, sondern nur
> das was du da reininterpretierst.

Indeed.

K.P.M schrieb:
> Also im Auftrag der Firma soll ein
> C-Programm mit µVision geschrieben werden, das aus gründern der
> effizienz und Geschwindigkeit die Datentpackete zwischen PC und
> Controller über Intrruptkanal, also da wo normalerweise die
> Interruptbefehle geschickt werden versendet. So oder so lautet
> jedenfalls die Aufgabe.

Und was hast du dann damit zu tun? Hast du da etwa im Vorbeigehen was an 
einer offenstehenden Tür aufgeschnappt? Bitte sag, daß es so oder so 
ähnlich war. Und mach um Gottes willen nicht noch den Fehler, den Namen 
der Firma hier zu nennen. Das wäre ein Kündigungsgrund aus dem Lehrbuch, 
Kapitel Kundenabschreckung, mit deinem Bild daneben.

Gemeint sein wird wohl DMA.

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

Wegen "[...]Datentpackete zwischen PC und Controller über 
Intrruptkanal[...]" könnten auch USB Interrupt Transfers gemeint sein. 
Ist aber auch nur fischen im Trüben der Fragestellung.

von A. R (Gast)


Lesenswert?

Ok, sorry für die Verwirrung, Ich versuche das Problem besser zu 
formulieren.
Der @Martin hats glaube ich richtig erfasst. Also es soll so ablaufen:
Ich schliesse mein Board per USB am PC und das Board wird als HID 
erkannt. Nun will ich per Interrupt-Betriebsart (Es gibt ja bei USB, 4 
solche Betriebsarten. sehe Endpoint Decriptor) kleine Datenmengan 
versenden. Theoretisch wie bei einer USB-Tatatur. Von Firma Keil gibt es 
ein Beispielprogramm(USBHID), die sich normalerweise im Ordner 
C:\Keil\ARM\Boards\Keil\MCB1700 befindet (wenn man MDK runter geladen 
und installiert hat)an dem orientiere ich mich. Aber bis jetzt habe ich 
es nicht geschafft heraus zu finden was ich an dem Programm verändern 
soll damit ich daten z.B Strings per Interupt versenden kann.

Danke schon mal für eure Coments.

von ZiZi (Gast)


Lesenswert?

Und was hast Du herausgefunden, als Du nach
"USB interrupt endpoint" gegoogelt hast? Bitte Deine Erkenntnisse hier 
präsentieren.

ZiZi.

von Frank B. (f-baer)


Lesenswert?

A. R schrieb:
> Ok, sorry für die Verwirrung, Ich versuche das Problem besser zu
> formulieren.
> Der @Martin hats glaube ich richtig erfasst. Also es soll so ablaufen:
> Ich schliesse mein Board per USB am PC und das Board wird als HID
> erkannt. Nun will ich per Interrupt-Betriebsart (Es gibt ja bei USB, 4
> solche Betriebsarten. sehe Endpoint Decriptor) kleine Datenmengan
> versenden. Theoretisch wie bei einer USB-Tatatur. Von Firma Keil gibt es
> ein Beispielprogramm(USBHID), die sich normalerweise im Ordner
> C:\Keil\ARM\Boards\Keil\MCB1700 befindet (wenn man MDK runter geladen
> und installiert hat)an dem orientiere ich mich. Aber bis jetzt habe ich
> es nicht geschafft heraus zu finden was ich an dem Programm verändern
> soll damit ich daten z.B Strings per Interupt versenden kann.
>
> Danke schon mal für eure Coments.

Bevor du zu laufen probierst, solltest du es erstmal mit Krabbeln 
versuchen. Mir deucht, du hast das Konzept "Interrupt" nicht wirklich 
verstanden.

von ZiZi (Gast)


Lesenswert?

Frank Bär schrieb:
> hast das Konzept "Interrupt" nicht wirklich
> verstanden.

Den Vorwurf wird man aber wohl auch an die USB-Spezifizierer richten 
müssen...


ZiZi.

von heinzhorst (Gast)


Lesenswert?

Sorry, dass ich das so hart formulieren muss, aber: Fang erst mal mit 
einer blinkenden LED an. USB ist noch eine Nummer zu groß für dich. Und 
ein Cortex vielleicht auch. Das ist als wenn du gestern noch mit 
Stützrädern Fahrrad gefahren bist und heute schon in einen Porsche 
steigst. Das ist nicht schlimm. Wir haben auch mal klein angefangen.

von A. R (Gast)


Lesenswert?

ZiZi schrieb:
> Und was hast Du herausgefunden, als Du nach
> "USB interrupt endpoint" gegoogelt hast? Bitte Deine Erkenntnisse hier
> präsentieren.

Ich habe unteranderem diesen Link gelesen:
http://www.sprut.de/electronic/interfaces/usb/usb.htm#endpunkt

Ich muss zugeben dass ich das Problem am Anfang nicht detailliert genug 
beschrieben hab und nicht auf USB eingegangen bin. Ich habs einfach so 
in den Raum geworfen und habe gehoft einen Anhaltspunkt finden zu 
können.
Aber was ist bei der zweite Beschreibung unlogisch? Was genau habe ich 
eure Meinung nach nicht richtig verstanden? Heißt das, dass es so 
garnicht funktioneren kann? wenn nicht, warum?

danke und Gruß

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.