www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Allgemeine Fragen zu SPI


Autor: Siegfried Saueressig (dieleena)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo guten morgen,
MPLAP 7.60; C18;

Als Master nutze ich einen PIC18F4550 Takt 20MHz und Slave PIC18F258 
Takt 4MHz. Mein Datenpaket besteht aus 10 Byte. Ein Paket besteht aus 8 
Daten Bytes und 2 Quersumme Bytes

In Master habe ich SPI Slave Takt "0001 = SPI Master mode, clock = 
FOSC/16" eingestellt.

Beim Slave arbeite ich mit "InterruptVectorHigh = 0x08 und if 
(PIR1bits.SSPIF == 1)"

Slave arbeitet auch mit "InterruptVectorLow = 0x18 und if( 
PIR1bits.TMR1IF == 1 )" für periodiche Abfrage

Master:
wieviel Verweilzeit soll zwischen 2 Byte liegen und wieviel zwischen den 
Datenpakete?


Slave:
wird "PIR1bits.SSPIF   = 0;" am Anfang oder am Ende eingesetzt?
z.B.
-->>
if (PIR1bits.SSPIF == 1)
{
PIR1bits.SSPIF   = 0;
... CODE
}
oder
if (PIR1bits.SSPIF == 1)
{
... CODE
PIR1bits.SSPIF   = 0;
}
<<--

Mein Paket aus 10 Bytes besteht nutze ich ein Array. Der Counter wird 
nach dem lesen von SSPBUF um 1 erhöht. wenn alle Bytes übertragen sind, 
setze ich den Counter wieder auf 0.

Wie ist das mit dem Timer Interrupt? Muß ich diesen in der Zeit einer 
Verarbeitung des SPI Interrupt anhalten ? Kann aber auch gut sein, das 
der SPI Interrupt in der Verarbeitung des Timer Interrupt kommt. Was 
dann?

Was ist die Minimalste Zeit für den Timer Interrupt ?

Soll für den Anfang mal reichen.

Gruß Siegfried

Autor: Siegfried Saueressig (dieleena)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo guten morgen,

Wer kann mir hierzu Infos geben ?

Gruß Siegfried

Autor: so nicht (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hast 2 PICs die mit unterschiedlichen Clocks arbeiten und haengst die 
mit SPI zusammen. Nun koennte es Timingprobleme geben wenn man an das 
obere Limit der Geschwindigkeit gehen wollte. Das ist richtig erkannt. 
Muss es denn das obere Limit sein ? Ist die SPI Kommunikation denn 
wirklich so dringend ?  Den Timerinterrupt  waehrend der SPI 
Kommunikation unterbrechen ... Wie oft kommt der Timer interrupt denn ? 
Und was geschieht falls der verzoegert wird ?

Autor: Siegfried Saueressig (dieleena)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Master habe ich geänder in "FOSC/64"
"Timer interrupt" Slave war 100 µs, habe dieses auf 1 ms geändert.
Dieser wird genutzt, um periodich die Taster abzufragen.
Gruß Siegfried

Autor: Ralph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Möglich wäre zb eine zusätzliche Verbindung der beiden µC mit der der 
slave dem Master "mitteilen" kann das er für das nächste Byte bereit 
ist.

Stichwort: Busyline

Autor: Siegfried Saueressig (dieleena)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
"Möglich wäre zb eine zusätzliche Verbindung der beiden µC mit der der
slave dem Master "mitteilen" kann das er für das nächste Byte bereit
ist.
"
leider nicht Möglich. Hardware besteht schon.

Gruß Siegfried

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.