www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik pic18f2550 auf 48Mhz


Autor: Marco Schulze (sharkman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi.

Ich versuch grad zum ersten mal den pll modus zu nutzen, allerdings 
springt das ganze bei mir nicht so richtig an.

wenn ich das richtig verstanden habe, müsste ich mit einem externen 
12MHz quarz und plldiv=1, sowie cpudiv=0sc1_SRC2 dann auf die 48 MHz 
kommen oder nicht?

bei mir läuft dann aber scheinbar der quarz nicht mehr an und ich komm 
nicht mehr in den debug modus. sind jetzt meine überlegungen falsch oder 
kann es sein, dass es mir da irgendwas zerbröselt hat?

Autor: Fred Ram (seek51)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein. 96Mhz PLL Prescaler div by 3 (12 MHZ Input)
OSC/OSC2 SCR/1 96 Mhz PLL Src / 2
Clock Scr from 96Mhz PLL /2
HS HS+PLL

Config 1 H = 0X0021
Config 1 L = 0x000E

Autor: Marco Schulze (sharkman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hmm kannst du mir das mal bitte aufschlüsseln.

ich hab mich vorher ein bisschen quer eingelesen. allerdings steht 
überall dass der pll mode einen vervierfacher darstellt. damit wäre nach 
meiner rechnung 4x4 = 16 und nicht 48.

Autor: ado (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sieh mal auf Seite 24.

Der PLL funktioniert nur mit einer Eingangsfrequenz von 4Mhz.
Deinen Quarztakt muß jetzt von 12 auf 4 MHz heruntergetaktet werden.
In diesem Fall durch die Einstellung :3

In MPLAB kannst du mal unter Configure/ConfigurationBits  dir die 
Möglichkeiten mal ansehen .
Die Config-Bits würde ich aber im Code einstellen.
Ala:
/** CONFIGURATION BITS **************************************************/

#pragma config PLLDIV   = 4         // (16 MHz crystal on PICDEM FS USB board)
#pragma config CPUDIV   = OSC1_PLL2   
#pragma config USBDIV   = 2         // Clock source from 96MHz PLL/2
#pragma config FOSC     = HS
#pragma config FCMEN    = OFF
#pragma config IESO     = OFF
#pragma config PWRT     = ON
#pragma config BOR      = OFF
#pragma config BORV     = 3
#pragma config VREGEN   = ON      //USB Voltage Regulator
#pragma config WDT      = OFF
#pragma config WDTPS    = 32768
#pragma config MCLRE    = ON
#pragma config LPT1OSC  = OFF
#pragma config PBADEN   = OFF
#pragma config CCP2MX   = ON
#pragma config STVREN   = ON
#pragma config LVP      = OFF
#pragma config ICPRT    = OFF       // Dedicated In-Circuit Debug/Programming
#pragma config XINST    = OFF       // Extended Instruction Set
#pragma config CP0      = OFF
#pragma config CP1      = OFF
#pragma config CP2      = OFF
#pragma config CP3      = OFF
#pragma config CPB      = OFF
#pragma config CPD      = OFF
#pragma config WRT0     = OFF
#pragma config WRT1     = OFF
#pragma config WRT2     = OFF
#pragma config WRT3     = OFF
#pragma config WRTB     = OFF       // Boot Block Write Protection
#pragma config WRTC     = OFF
#pragma config WRTD     = OFF
#pragma config EBTR0    = OFF
#pragma config EBTR1    = OFF
#pragma config EBTR2    = OFF
#pragma config EBTR3    = OFF
#pragma config EBTRB    = OFF
//#pragma config DEBUG    = ON           Background debugger enabled, RB6 and RB7 are dedicated to In-Circuit Debug


Ich habe alle Einstellungen in meiner  Config-Datei.
Im allgemeinen brauchst du nur ein paar dieser Parameter setzen
und nicht wie ich alle.

Autor: Marco Schulze (sharkman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja das kommt mir sehr bekannt vor. allerdings ist mir die rechnung immer 
noch nicht klar.

aber ok. ich nehm das jetzt einfach mal hin. mich würde nur ma 
linteressieren wo ich jetzt sehen kann was sache ist. gibt es eine 
möglichkeit sich den takt mal nach außen hin am oszi anzuschauen.

wenn ich das richtig verstehe müsste ich im ec_ec mode doch am pin ra6 
sehen können wie groß die Frequenz ist mit der das ganze schwingt oder 
nicht?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>wenn ich das richtig verstehe müsste ich im ec_ec mode doch am pin ra6
>sehen können wie groß die Frequenz ist mit der das ganze schwingt oder
>nicht?

Wenn du statt Quarz einen externen Takt anlegst ja.

Autor: Marco Schulze (sharkman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hmm, nein ich würde es schon gerne mit einem quarz haben. kann ich da 
auch irgendwie messen was hinten raus kommt. ich kenn das, dass ich 
einen pin toggeln lasse. gibts da anoch ne andere methode?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>ich kenn das, dass ich einen pin toggeln lasse.

Dann tu es doch. Was hindert dich daran?

Autor: Marco Schulze (sharkman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja ich habs jetzt auch einfach gemacht. ich dachte nur es gibt 
vielleicht noch ne andere möglichkeit.

und ja, er schwingt wie gewünscht mit den 48MHz.

jetzt aber mal noch ne andere Frage. kann man theoretisch auch noch mehr 
rausholen oder geht der pic dann in den streik und will nicht mehr? ist 
nur ne reine interessen frage, ist erstmal nicht von nöten.

und ich würde mich doch sehr freuen, wenn mir das mal jemand mit dem pll 
genau erklären könnte was da passiert, weil ich immernoch nicht auf die 
passende geschwindigkeit mit dem faktor 4 beim rechnen komme. das macht 
mich irgendwie stutzig und würde mich interessieren.

aber schon mal besten dank für die hilfe

Autor: Nico B. (prinzenrolle)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich hatte ein ähnliches Problem.
Um zu schauen wie "schnell" mein pic ist habe ich einen Iin toggeln 
lassen und mit dem Oszi die Freqeuenz gemessen.

gruß

Autor: Hans W. (stampede)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> jetzt aber mal noch ne andere Frage. kann man theoretisch auch noch mehr
> rausholen oder geht der pic dann in den streik und will nicht mehr? ist
> nur ne reine interessen frage, ist erstmal nicht von nöten.
>
> und ich würde mich doch sehr freuen, wenn mir das mal jemand mit dem pll
> genau erklären könnte was da passiert, weil ich immernoch nicht auf die
> passende geschwindigkeit mit dem faktor 4 beim rechnen komme. das macht
> mich irgendwie stutzig und würde mich interessieren.

Theoretisch geht immer mehr, garantiert ist es aber nicht.
Bringen tuts hier erst recht nichts, da der 18F2550 mit 96MHz/2 als 
USB-Clock Eingang laufen muss. Als Stellschrauben hast du nur die 
Quarzfrequenz (müssen aber Vielfache von 4 damit die USB Frequenz 
passt). Die Teiler und PLL lassen sich nicht so einstellen, dass du den 
PIC übertakten könntest.

Was gibts an der PLL nicht zu verstehen? Sie multipliziert den ihren 
Eingangstakt (4MHz) mit 24 auf 96MHz. Dieser wird dann für die USB 
Peripherie und den Kern entsprechend runtergeteilt. Wie die PLL das nun 
mit dem Vervielfachen anstellt, ist mal eine andere Geschichte.

Der Maximale Takt des Prozessorkerns ist also 48MHz, wie auf dem Bild 
2-1 im Datenblatt zu erkennen ist. Durch die interne Struktur läuft der 
PIC effektiv nur mit 12MIPS, da ein Befehl 4 Takte zur Abarbeitung 
braucht (Holen, Decodieren, Berechnen, Zurückschreiben).

Autor: Marco Schulze (sharkman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
gut wenn du sagst er multipliziert mit 24 leuchtet mir das ganze wieder 
ein. ich hatte nur mehr fach gelesen dass das pll modul mit der faktor 4 
multipliziert, da bin ich denn einfach auf keinen grünen zweig gekommen.

aber danke schön, wieder was dazugelernt

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.