Forum: Mikrocontroller und Digitale Elektronik PIC18F2680 SPI SCK-Problem


von Heinz (Gast)


Lesenswert?

Hi ich verwende einen PIC18F2680 mit einem 16 MHz OSZ. (Ich brauche die 
16 MHZ für den ECAN)

Jetzt möchte ich mit einem Sensor über SPI kommunizieren. Der ist leider 
nicht gerade der schnellste und unterstützt nur einen SDK von 5kHz (min) 
bis 40 kHz (max)

Ich muss also meinen SCK der Hardware SPI vom Pic auf ca. 20 kHz 
runterbekommen! Leider kann ich nur einen Teiler von max 64 einstellen:

Also 16 Mhz / 64 = 250 kHz was immer noch viel zu schnell ist. Gibt es 
einen Trick wie ich das Problem in den Griff bekomme?

Ich verwende übrigens MikroC als C-Compiler. Dort gibt es auch ne 
SoftwareSPI die geht aber leider auch nur bis 50 kHz runter!

Danke für Eure Hilfe.

von holger (Gast)


Lesenswert?

>Ich verwende übrigens MikroC als C-Compiler. Dort gibt es auch ne
>SoftwareSPI die geht aber leider auch nur bis 50 kHz runter!

Da musste halt ne eigene noch langsamere Software SPI
selber schreiben. Ist nicht schwer.

von Falk B. (falk)


Lesenswert?

@ Heinz (Gast)

>Also 16 Mhz / 64 = 250 kHz was immer noch viel zu schnell ist. Gibt es
>einen Trick wie ich das Problem in den Griff bekomme?

Soft-SPI

AVR-Tutorial: Schieberegister

>Ich verwende übrigens MikroC als C-Compiler. Dort gibt es auch ne
>SoftwareSPI die geht aber leider auch nur bis 50 kHz runter!

Selber machen. Ist einfach. Und wenn es langsam sein soll erst recht.

MFG
Falk

von Heinz (Gast)


Lesenswert?

Das selber schreiben wollte ich eigentlich vermeiden.
Aber wenn kein Weg dran vorbei führt muss ich halt ran!

von klaus (Gast)


Lesenswert?

man kann doch den sck auch mit dem timer2 steuern,

timer2 mit pre-teiler 16 und post-teiler 16
spi auf TMR2 Output/2

16mhz /16 /16 /2 = 31,25khz

oder sehe ich das jetzt falsch ?

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.