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
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 ...
Der Clock-Pin führt nur ein Taktsignal, wenn auch ein Slave angesprochen wird. Ob man dieses verhalten ändern kann, weiss ich leider nicht. das einfachste wäre, einen Timer zu verwenden, der einen Pin regelmäßig Toggelt.
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.
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.
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
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 ...
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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.