SPI Clock verwenden

OP #2051519
Lesenswert?

Hi,

ich möchte an einem PIC24HJ128GP502 gerne an einem PIN einen Takt von 
8MHz erzeugen. Eigentlich sollte dies doch relativ einfach mit dem 
Serial Clock Pin des SPI-Moduls funktionieren, oder nicht?
Leider zeigt das Oszilloskop dass eben kein Takt am Pin anliegt.
Ist es möglich SCK zu verwenden ohne dass eine Kommunikation über SPI 
stattfindet und eben nur der PIN die ganze Zeit toggled?

Viele Grüße,
Mirco
#2051522
Lesenswert?

Mirco H. schrieb:
> Eigentlich sollte dies doch relativ einfach mit dem
> Serial Clock Pin des SPI-Moduls funktionieren, oder nicht?
> Leider zeigt das Oszilloskop dass eben kein Takt am Pin anliegt.

Natürlich muss man dafür die SPI-Kommunikation verwenden - ansonsten ist 
das ja ein ganz normaler I/O ...

Die entscheidende Frage ist, was für eine Taktversorgung du verwendest - 
je nachdem kann man auch 8 MHz erreichen ...
Gast #2051540
Lesenswert?

Christian L. schrieb:
> das
> einfachste wäre, einen Timer zu verwenden, der einen Pin regelmäßig
> Toggelt.

Ja, da muss ich zustimmen! Für diesen Fall ist ein Timer die richtige 
Wahl. Je nach dem, wie genau der Takt sein muss, ist es nötig den Timer 
manuell zu resetten. Die Interrupt-Routine ist der richtige Ort für den 
nötigen Code.
#2051547
Lesenswert?

Das CCP Modul im PWM Modus ist dafuer das richtige, da braucht man 
keinen Interrupt fuer. Das SPI Modul ist dafuer denkbar unguenstig, da 
alle IOs blockiert werden und der Takt nur bei Zugriff auf den Slave 
anliegt. Die Timer/Interruptvariante braucht fuer die Aufgabe zu viel 
sinn;os vergeudete Rechenzeit.
OP #2051751
Lesenswert?

Danke für die Antworten.

Ich habe es jetzt mit PWM versucht.
FOSC darf laut Datenblatt maximal 80MHz betragen - und FCY somit 40MHz.
Ich benötige am Pin einen Takt von 8Mhz, was dann hier 5 Zählschritten 
des Timers bei prescaler 1 entspricht.
Weil ich gerne einen Takt mit gleichmäßigem Puls-Pausen-Verhältnis 
hätte, habe ich FCY bei 32MHz, Periodendauer bei 4 (PR2 = 4;) und OC1R 
bei 2 ... am Oszi beträgt der Takt allerdings nur ungefähr 1MHz..

Ist 8 MHz überhaupt realisierbar?

Grüße,
Mirco
#2051778
Lesenswert?

Mirco H. schrieb:
> Ist 8 MHz überhaupt realisierbar?
ja natürlich

Lehrmann Michael schrieb:
> Die entscheidende Frage ist, was für eine Taktversorgung du verwendest -
> je nachdem kann man auch 8 MHz erreichen ...

Eigentlich laber ich hier nicht damit man keine weiter Auskunft erteilt 
...
Einfachste Möglichkeit: Quarzoszillator 8 MHz (!) - nicht nur Quarz an 
OSC1 (CKI) - Der Takt liegt dann an OSC2 (CKO) an ...
Ansonsten Pin Toggeln - entsprechend höherer Betriebstakt ...
OP #2051786
Lesenswert?

Sorry, ich verwende einen 4MHz Quarz mit PLL.
Ist nicht unabhängig vom verwendeten Quarz die maximale Frequenz FCY 
40MHz und damit die Anzahl der nötigen Zählschritte des Timers für die 
Periode nur 5? Das hieße ja, dass ich den Pin theoretisch alle 2,5 
Schritte toggeln lassen müsste?

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