Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Assembler Port ansteuern Kategorie: Programmierung Assembler (von PeterS - 23.09.2010 10:35)
Als Antwort auf Re: Assembler Port ansteuern von Joerg - 23.09.2010 9:42

> > > Ok, ich versuche mal zu erklären.Ich möchte mit dem C-Controler einen
> > > 3-achsigen-Drehratensensor über SPI-BUS ansteuern und auslesen.
> > > Der Sensor braucht dafür:
> > >
> > > Clock-Signal
> > > Mosi
> > > Slave Selekt 1
> > > slave Selekt 2
> > > slave Selekt 3
> > >
> > > Die Daten werden dann sofort vom C-Controler über USB an den PC geschickt.
> > > Das Zeitkritischeverhalten brauche ich da das Mosi-Signal und das Clock-Signal
> > > "Zeitgleich" am Sensor High oder Low sein sollen.
> > >
> > >
> > > Clock -->  __|##|__|##|__|##|__|##|__
> > >
> > > Mosi -->   _____|####|________________
> > >
> > >        
> > > Wenn ich den Mosi für ein Bit High setzen will mache
> > > ich das nach dem das letzte Clock-Signal Low gesetzt wurde.
> > >
> > > OUPUT6_OFF();  // Clock
> > > OUPUT5_ON();   // Mosi
> > >
> > > Die Zeit zwischen den beiden Signalen dauert 100 Millisekunden und
> > > für meinen Sensor zu lange. Da bei Flanke eingelesen wird.
> > >  
> > > Schalte ich das Mosi-Signal auf Low am Ende vom Clock-Signal dauert es zwischen Mosi- und
> > > Clock-Signal wieder 100 Millisekunden.
> > >
> > > Deshalb habe ich mir gedacht, dass man mit
> > > Inline-Assembler erreichen kann, dass das Mosi-Signal weniger Zeit braucht als die
> > > 100 Millisekunden. Ã?ber Miso empfange ich das Status-Byte des Sensors.In dem steht, dass
> > > mein Mosi-Signal nicht richtig empfangen wurde. Gleichzeitig brauche ich weitere Ports der
> > > MiniStation um die Slave Selekts durch zu führen. Ich schaffen es mit dem C-Code etwa
> > > 15 mal pro Sekunde die Drehraten zu empfangen. Das reicht mir für die weitere Verrechnung im PC.
> > >
> > > Sorry, ich komme beruflich aus einem anderen Bereich, kenne mich mit Prozessoren und Controlern
> > > nicht aus, noch kenn ich deren Möglichkeiten. Aber mein Projekt möchte ich zum laufen bringen.
> > >
> > >
> > > MFG Tito
> >
> > Hallo Tito,
> >
> > am einfachsten nimmst Du die eingebaute SPI Schnittstelle, dann brauchst Du Dich um die
> > Timings nicht zu kümmern. Einfach MISO, MOSI, SCLK und die benötigten Chip Select Leitungen
> > verbinden. Hinweis: Solltest Du ein Applicationboard benutzen, bitte die IDE im seriellen
> > Modus betreiben, da der USB AnschluÃ? des Applicationboard sonst selbst SPI benutzt.
> >
> > Ã?ber die eingebauten SPI Bibliotheks Funktionen kannst Du dann direkt mit Deiner Peripherie
> > kommunizieren.
> >
> > Gruss Peter
>
> Hallo Peter,
>
> korrigiere mich, wenn ich hier falsch liege aber hat denn die Mini Station überhaupt SPI?
> In der Bedienungsanleitung steht darüber nichts und im Schaltplan laufen die Signale auch ins lehre.
>
> Grü�e Jörg
>

Bin ich erstmal davon ausgegangen. Aber ich habe von Conrad nie eine Mini bekommen. MuÃ? ich mal
mit Ulli abklären.

Gruss Peter


    Antwort schreiben


Antworten: