Suche Hilfe bei einem Projekt mit ARM Cortex M4 und Tiva C

OP (Firma: Fa. Meinefirma) #5318003
Lesenswert?

Hallo,

Ich bin gerade dabei einen rotary encoder auf der Entwicklungsboard 
Texas Instruments EK-TM4C1294XL zu programmieren.

Als Entwicklungsumgebung wird CCS7 vom TI eingesetzt.

Meine Schwierigkeiten liegen darin, dieses Modul so richtig über SPI 
anzusprechen bzw. zu steuern!

Hat wer Erfahrungen mit diesen Tools gesammelt?

Bin für alle Antworten rechtherzig  dankbar!


LG
Gast #5318114
Lesenswert?

Hallo,

Versuch's doch erstmal mit ein paar Beispielprojekten für deine 
Plattform; bei TI (im sogenannten Resource Explorer) gibt es da ganz 
viele von: 
http://dev.ti.com/tirex/#/?link=Software%2FTM4C%20ARM%20Cortex-M4F%20MCU

Wenn dir die vom EK-TMM4C129... nicht genügen, kannst du auch die vom 
DK-TM4C129X nehmen, ist ja derselbe Prozessor.

Und wenn du spezifische Probleme hast, dann kannst du gerne nochmal 
nachfragen, aber dann, indem du auch dein Problem erklärst.

P.S.: damit ich aber auch hier deine Frage beantworte und man mir nicht 
nachsagt, dass ich daneben geantwortet habe: Ja, ich habe Erfahrungen 
mit den Tools gesammelt.
Gast #5318120
Lesenswert?

Im CCS gibt es eine Wissenstonne an Informationen (weiß nicht mehr genau 
wie diese Beispiel und Hilfssektion heißt), die schon genau auf das 
Evalboard vorkonfiguriert sind. Das ist echt sehr einfach.

Dazu bietet die Community von TI in deren Foren auch eine gute Basis 
unzufangen. Welchen Wissensstand bringst du denn mit?
OP (Firma: Fa. Meinefirma) #5319548
Lesenswert?

Zunächst vielen vielen Dank für euer Antworten!

Wie ich auch in meinem ersten Beitrag beschrieben habe muss ich auf das 
TI Launchpad ein rotary encoder programmieren.
der Encoder ist von der fa. mikroe.com und die Information wie man den 
Encoder auf das Board mittels Software mountet ist leider sehr spärlich!
Merkwürdigerweise für Arduino oder Raspberry Pi gibt es eine fülle an 
Infos.


Laut der Informationen von Hersteller [mikroe] kann der Encoder über SPI 
Busprotokoll angesprochen werden.

Meine Schwierigkeit ist, dass ich immer noch nicht gefunden habe wie ich 
die Signalen vom Encoder-Rotate-Button auslesen kann. Den 
dementsprechend muss ich dann auch die Dioden einschalten. Mit einem 
Wort welche GPIO's ich wie (Input/Output) konfigurieren muss um einen 
reibungslosen SPI Kommunikation zwischen Board und Encoder gewähren 
kann.

Meine Erfahrungen sind mehr als ein guter Anfänger was µC angeht.


Ich habe ein Termin bis ende Februar und habe nicht so viel Zeit!

@mcload

Alle die Infos kenne ich schon. Die sind Teilweise auch im CCS 
eingeführt.
Achso für einen Erfahrenen ist das nicht mehr als eine oder zwei Stunden 
arbeit.
Gast #5319811
Lesenswert?

Woran hapert es denn jetzt nun? Hardware (die Beschaltung zwischen 
Launchpad und Rotary Encoder) oder Software (SPI Funktionen)?

Wäre vielleicht auch interessant die genaue Referenz (oder einen Link 
zum Produkt) vom Rotary Encoder mitzugeben, ich weiß nicht wieviele es 
bei Mikroe davon gibt.
Gast #5320178
Lesenswert?

Tja, mikroes proprietaeres Zeug.

Lad dir die Testversion von deren (ansonsten schrecklichen)
ARM-Compiler und die Lib fuer den Encoder dazu.

Dann kannst du wenigstens im Compilat mal schauen wie es geht.

P.S.: Nimm dir mal ne Zange und reiss das 'ß' aus deiner
Tastatatur. Das liest ja scheußlich.
Gast #5321624
Lesenswert?

Da fällt mir noch etwas ein. Falls du für Arduino ja schon die 
Bibliotheken gefunden hast, kannst du diese ganz bestimmt einfach in 
Energia einbauen.

Energia ist sowas ähnliches wie Arduino, nur halt für die TI Chips und 
das EK-TM4C129EXL wird da unterstützt.
Gast #5323057
Lesenswert?

Mit Energia kenne ich mich überhaut nicht aus und um das jetzt zu lernen 
kostet mir viel Zeit, die ich leider nicht habe.

Laut einigen Kommentaren die ich im Internet gelesen habe, kommuniziert 
der rotary über QEI und der Dioden Ring über SPI.

Der Button von Rotary kommuniziert über irgendwelchen Interrupts vermute 
ich !


Ein bischen Code wäre für mich sicherlich viel viel Hilfsreicher !!!

Danke!
Gast #5323812
Lesenswert?

maxm_45 schrieb:
> Ein bischen Code wäre für mich sicherlich viel viel Hilfsreicher !!!

Die Schaltung und SPI Kommunikation funktioniert grundsätzlich, und du 
kannst nur die empfangenen Daten deuten, oder woran scheitert es genau?

Die Leute haben besseres zutun als alles selbst zu suchen und einem aus 
der Nase zu ziehen. Darum beschreibe das Problem genauer sowie was du 
unternommen hast es zu lösen, und poste Libs für Arduino und Raspberry 
hier. Evtl sieht man da wie Kommunikation und der StateFlow aussehen 
könnte.
Gast #5323922
Lesenswert?

Hallo an alle,

zunächst Danke für euren Beitragen !

@Entwiggler Der Rotary besteht aus zwei Teilen 1. den Encoder und 2. den 
Dioden Ring.

Der Dioden Ring lässt sich über SPI steuern, während die Encoder 
Signalen [phA0 und phB0] kann man nur über QEI auslesen.
Mittlerweile kann ich QEI initialisieren und debugen können!

Die Frage ist wo und wie die Signalen auszulesen sind?
welche Registern enthalten die Sigs?

Danke.
Gast #5323974
Lesenswert?

Max M. schrieb:
> der Encoder ist von der fa. mikroe.com und die Information wie man den
> Encoder auf das Board mittels Software mountet

"mounted"? Gewöhn dir mal dieses Bullshit-Gerede ab. Was soll "mounten" 
in diesem Zusammenhang bedeuten? Aus deiner ganzen Beschreibung kann man 
nur lesen, dass "irgendwas" nicht geht. Eine verständliche 
Problembeschreibung sieht anders aus.

Wirklich, was ist das Problem?

Das "Manual" enthält die komplette interne Schaltung 
https://download.mikroe.com/documents/add-on-boards/click/rotary-g/rotary-g-click-manual-v100.pdf

Das Ding besteht nur aus zwei TTL Schieberegistern ('595, generischer 
geht es gar nicht), Pegel-Konvertern, Encoder und Hühnerfutter. Alle 
Komponenten sind handelsüblich und Datenblätter erhältlich. Sollte was 
in der Schaltung unklar sein kann man die Platine mit einem Multimeter 
durchklingeln.

Genau so auf der Board-Seite, alles ausreichend, wenn auch nicht 
perfekt, dokumentiert. Du musst dich halt mal hinsetzen und alle 
Informationen zusammensetzen. Ist das vielleicht dein Problem? Keine 
Lust die einzelnen Informationen zusammenzusetzen? Keine Lust die Lösung 
zu planen?
Gast #5324006
Lesenswert?

@Jack,

bevor du hier was schreibst bitte genau lesen was ich vorhin geschrieben 
habe!
Der Teil besteht aus zwei 595-er TTL und zwei 74LVC1T45 (Encoder)
595- er TTL -> SPI
74LVC1T45 (Encoder) -> QEI wurde mir gesagt: bitte um Bestätigung !
Gast #5324064
Lesenswert?

Auf Seite 1749 vom Datasheet des TM4C1294NCPDT hast du das Diagramm des 
QEI und wenn ich das so sehe, würde ich mir sagen, dass dich das 
Register QEIPOS da interessiert.

Ich würde dir aber anraten das ganze Kapitel zu lesen und zu verstehen. 
Die anderen Register für dieses Modul müssen nämlich auch richtig 
gesetzt werden (wie z.B. QEIMAXPOS und QEICTL).

Falls du nicht den Hardware QEI benutzen möchtest, kannst du das alles 
auch per Bitbanging machen, aber das wäre natürlich schade...

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