Forum: Mikrocontroller und Digitale Elektronik 2 Fragen zum SPI-Interface vom LPC2106


von Vikinger (Gast)


Lesenswert?

Hallo,

Wie soll man denn im Slave-Mode Daten zum Master senden?
Im UM zum LPC2106 (vom 17 Sep 2003) steht auf Seite 126 zwar das
Vorgehen grob beschrieben aber wie soll ich dafür sorgen das schnell
genug ein neues Datenbyte ins Data-Register kommt wenn der Master nicht
warten mag?

z.B.
SPI-CLK == 7,5MHz und LPC2106 im Slave-Mode, am Ende vom letzen Bit,
vom aktuellem Byte, wird ein Interrupt ausgelöst aber bevor die CPU
tatsächlich diesen ausführen kann hat doch der Master schon längst den
Takt fürs erste Bit vom nächsten Byte begonnen. Woher soll die
SPI-Logic im LPC2106 denn das erste Bit vom nächsten Byte nehmen wenn
kein TX-Puffer-Register vorhanden ist?
Für RX existiert eins aber für TX nicht (UM S. 125).
Wie soll man den überhaupt mit voller Transfehrrate senden ohne
wenigstens einem TX-Puffer-Register?
Okay, im Master-Mode wird wohl SPI-CLK kurz inaktiv gelassen aber was
ist im Slave-Mode?
Wenn sich Philips schon 2 richtige FIFOs spart dann sollten die
wenigstens 2 ordentliche Puffer-Register implementieren.


Ist die SPI-Logik im LPC210x wirklich so langsam das SPCCR >= 8 sein
muss? Was passiert wenn ich das auf einen kleineren Wert setze?

Ich brauche vorerst nur den Master-Mode aber als Slave hängt ein
FM25L256 dran. Das FRAM kann 25MHz und die würde ich gerne einigermaßen
ausnutzen, zumindest würde ich mich mit SPCCR = 4, 15MHz (60MHz/4),
zufrieden geben.


Grüße
Erik

von Robert Teufel (Gast)


Lesenswert?

Ich versuchs mal,

Das SPI interface auf dem 2106 ist leider nicht das beste was die
LPC2000 Familie zu bieten hat. Zum einen ist es auf 8-bit beschraenkt,
zum andern ist CCLK/8 tatsaechlich die schnellste Moeglichkeit.
Die 213x und 214x sowie der kleine 2101/2/3 haben eine SSP
Schnittstelle, die ist nicht nur schneller sondern hat auch noch FIFOs
fuer 8 messages und kann 8-16 bit uebertragen,

Das Problem wurde erkannt und auch behoben nur noch nicht im LPC2106.
Voraussichtlich Q2 / 06 kommt ein verbesserter 2106 mit der SSP
Schnittstelle.

Also kurz und gut, der LPC2106 war unser erster Versuch und hat nach
wie vor viele Anhaenger wegen den 64k SRAM aber die neuen Chips haben
in Punkto Peripherals schon sehr viele Verbesserungen.

Wuerde gerne mehr helfen aber die SPI geht nicht so schnell wie den
FRAM :-(

Robert

von Vikinger (Gast)


Lesenswert?

Hallo Robert,

Danke erstmal für Deine Antwort.

Ich hab mich tatsächlich wegen der 64k RAM für den LPC2106 entschieden,
auf das SSP bin ich mal gespannt und ansonsten hoffe ich das die
restliche Peripherie erhalten bleibt (natürlich ohne die Errarters).
Der LPC2106 passt einfach zu gut für meine Aufgabenstellung.

Zum SPI bin ich mir schon bewust das dafür ein gerader Teiler
erforderlich ist und kann mich auch mit 4 also 15MHz zufrieden geben.
Für den Fall das die nächste Generation von Ramtron 30MHz unterstützt
wärs natürlich auch nicht schlecht wenn der LPC einen Teiler von 2
unterstützt, ansonsten sind 15MBit/s ja schon nicht schlecht aber auch
nur mit ordentlichen FIFOs nutzbar.

Gibts auf der HP dann einen passenden Hinweis wenn der neue LPC2106
kommt? Bekommt man den dann auch von den Distris oder wollen die erst
mal ihre Lagerbestände loswerden?

Grüße
Erik the Vikinger

von Vikinger (Gast)


Lesenswert?

Hallo Robert,

ich hab mir gerade das UM vom LPC2103 angesehen und muss sagen ich find
die Pin-Aufteilung sehr ungüstig. Wenn ihr das SSP in den LPC2106
aufnehmt dann schmeißt bitte das alte SPI-Teil raus und opfert nicht
irgendwelche wichtigen Pins. Wenn das SSP schon zusätzlich rein muss
dann benutzt bitte wenigstens die Pins bei 22 bis 31. Ich kann auf
keine der sonstigen Komponenten verzichten, schon gar nicht auf einen
der 8 IOs vom Timer 1 und von der PWM benötige ich auch wenigstens 2
Pins.

Bitte macht das LPC2106-Update so das von den bisherigen Möglichkeiten
nichts verloren geht, ich bin echt froh das ich alle meine
Anforderungen in einem QFP48 gefunden hab.

Grüße
Erik

von Robert Teufel (Gast)


Lesenswert?

Hallo Erik,

wann der neue 2106 kommt, gegen Mai 2006.  Rausschmeissen koennen wir
nichts, wir muessen absolut kompatibel bleiben, wir koennen nur
zusaetzliche Funktionen oben drauf setzen, so wirds dann
voraussichtlich gemacht.

Robert

von Vikinger (Gast)


Lesenswert?

Hallo Robert,

köntest Du das "so wirds dann voraussichtlich gemacht" bitte etwas
genauer formulieren.

Was ich eigentlich am besten fänd wäre wenn Ihr das SSP auf die selben
Pins setzt (als 3. Alternativfunktion), so bräuchten Bestandskunden
noch nicht mal Ihr Design ändern (sondern nur die SW) und könnten bei
Bedarf von der neuen SSP profitieren. Wer brauch schon 2 verschiedene
SPI-Schnittstellen auf einmal? Die LPC2106-Bestandskunden jedenfalls
nicht, sonst hätten die ja einen anderen µC eingesetzt.

Grüße
Erik

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.