PIC24FJ256GB406 oscillator Auswahl

Gast #4785497
Lesenswert?
• ▲
▼
Im Oscillator PIC24FM Datenblatt findet sich:

The 96 MHz PLL block requires a 4 MHz input signal; it uses this to 
generate a 96 MHz signal
from a fixed, 24 x PLL.


Ich möchte hier einen externen Quarz anschliessen.

Nur welche größe?

Dank des Prescalers ist es möglich hier zwischen 4 bis 32 Mhz zu wählen.
(nicht alle modi sind USB fähig)

Fährt man da besser mit einem 4Mhz quarz oder einem 32Mhz quarz?
Gast #4785501
Lesenswert?
• ▲
▼
ok moment, ich muss noch was hinzufügen.

Kurz und knapp ausgedrückt habe ich die Wahl zwischen:

1. Prescaler 0   (aus) und den 4MHz quarz zu nehmen
2. Prescaler 1:8 und den 32Mhz quarz

Was ist hier zu bevorzugen?
Gast #4785528
Lesenswert?
• ▲
▼
Nimm was du leicht bekommst. Das wird vermutlich 4 oder 8MHz sein. Musst 
aber die Anforderungen deines Oszillators (electrical characteristics) 
auch beachten.

Aber in fast allen Fällen braucht dein PIC gar keinen MHz-Oszillator:
Dein PIC hat self tuning für den FRC. Dessen FRC (interner 
RC-Oszillator) kann mittels Uhrenquarz auf 0,05% getrimmt werden. Du 
kannst also statt einem MHz-Quarz auch einfach einen Uhrenquarz an SOSC 
nehmen. Siehe Kapitel 9.0 und 9.5. im Manual.
Das braucht weniger Strom, und hat den Vorteil, dass die RTCC auch 
gleich akkurat nutzbar ist.

Noch eine Variante:
Wenn USB immer dran ist, brauchst du gar keinen Oszillator. Der Clock 
kann auch mittels USB kalibriert werden (siehe 9.5).
Gast #4785556
Lesenswert?
• ▲
▼
Vielen Dank, ich Probiere es mal ohne Primary Oscillator.

// FOSCSEL
#pragma config FNOSC = FRCPLL    // Oscillator Select->Fast RC 
Oscillator with PLL module (FRCPLL)
#pragma config PLLMODE = PLL96DIV2    // Frequency Multiplier Select 
Bits->96 MHz PLL (8 MHz input)
#pragma config IESO = ON    // Internal External Switchover->Start up 
device with FRC, then switch to user-selected oscillator source

// FOSC
#pragma config POSCMOD = NONE    // Primary Oscillator Select->Primary 
Oscillator disabled
#pragma config OSCIOFCN = OFF    // OSCO Pin 
Configuration->OSCO/CLKO/RC15 functions as CLKO (FOSC/2)
#pragma config SOSCSEL = ON    // SOSC Power Selection Configuration 
bits->SOSC is used in crystal (SOSCI/SOSCO) mode
#pragma config PLLSS = PLL_FRC    // PLL Secondary Selection 
Configuration bit->PLL is fed by the on-chip Fast RC (FRC) oscillator
#pragma config IOL1WAY = ON    // IOLOCK One-Way Set Enable->Once set 
the IOLOCK bit cannot be cleared
#pragma config FCKSM = CSDCMD    // Clock Switching and Monitor 
Selection->Clock switching and Fail-Safe Clock Monitor are disabled


    while (1)
    {
        __delay32(1000000);
        LED_G ^= 1;
    }


Mhh, ich komme hier auf 8Hz an der LED, somit 8 Mhz, ist da nicht mehr 
möglich?
Laut dem Microchip configurator sollten da 32Mhz CPU clock sein und 
FOSC/2 sind dann 16Mhz und nicht 8Mhz
(Firma: Rentenvers. Bund (Frührentner)) #4788556
Lesenswert?
• ▲
▼
0.05% reichen für eine UART. Letzlich auch größere Unterschiede bis 
wenigstens ca. 0.3% sollten auch problemlos sein, solange es sich um 
niedrige Baudraten handelt.

 Bei Geschwindigkeiten von >= 500 kBaud, möglicherweise auch bereits ab 
~250 kBaud aufwärts, wird es zunehmend sinnvoll entweder 
Geschwindigkeiten zu wählen, die sich aus der verwendeten Quarzfrequenz 
direkt ableiten lassen, oder aber alternativ 'Baudratenquarze' zu 
verwenden. Bei hohen Geschwindigkeiten sind die Signale bei weitem nicht 
mehr so sauber, und Frequenzdifferenzen (Sender<=>Empfänger) schlagen 
dann zunehmend deutlich zu Buche.

 Doch alles bis 38400 ist i.d.R. auch ohne Baudratenquarz gut zu machen. 
Kleinere Fehler spielen bei diesen langsamen Übertragungsraten selten 
eine Rolle, wenn überhaupt jemals.

agk

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.