mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC Taktquellen-Fallback?


Autor: Zens Uhr (panzerkeks) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

kann es sein, dass PICs (habe hier den 18F4550) wenn als Taktquelle HS 
(sprich ein Quarz) eingestellt ist, der aber nicht richtig verbunden ist 
(schlechte lötstelle, quarz einfach rausziehen, ...), auf den internen 
Oszillator zurückfallen?

Habe hier ein Problem mit den #pragma config ... Einstellungen: Dinge 
wie BOR/BORV (Brown Out) werden anstandslos eingestellt, aber die 
Taktquelleneinstellungen (FOSC) ignoriert er leider.

Obwohl der Quarz benutzt werden sollte, kann ich über das 
OSCCON-Register (IRCF) den Takt verändern.

soll das so sein oder mach ich da irgendwas falsch? :S

18F4550, ICD3, Mplab8.56, C18.

Gruß

Autor: Loonix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zens Uhr schrieb:
> kann es sein, dass PICs (habe hier den 18F4550) wenn als Taktquelle HS
> (sprich ein Quarz) eingestellt ist, der aber nicht richtig verbunden ist
> (schlechte lötstelle, quarz einfach rausziehen, ...), auf den internen
> Oszillator zurückfallen?

Ja, es gibt da ein Fail-Safe-Bit in einem der Config-Register. Leider 
habe ich es momentan nicht parat, aber das Datenblatt dürfte da 
genaueres liefern.

Zens Uhr schrieb:
> Habe hier ein Problem mit den #pragma config

Du kannst die Config-Register auch über die IDE setzen oder mit 
ASM-Direktiven in einem ausgelagerten File.

Autor: Andreas Riegebauer (blackpuma)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was hast du denn bei den PLL Einstellungen drinnen? Bei mir sieht das so 
aus. Welchen Quarz verwendest du?
/** Configuration **********************************
 *
 * PIC18F4550 mit 16 MHz externem Quarz.
 *
 */
        #pragma config PLLDIV   = 3
        #pragma config CPUDIV   = OSC1_PLL2
        #pragma config USBDIV   = 2
        #pragma config FOSC     = HS

Autor: Zens Uhr (panzerkeks) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Loonix schrieb:
> Ja, es gibt da ein Fail-Safe-Bit in einem der Config-Register

Den Fail-Safe Clock Monitor (FSCMEN) hab ich abgestellt.

Loonix schrieb:
> Du kannst die Config-Register auch über die IDE setzen

Über das Config-Bits-Fenster von Mplab hab ich es auch schon versucht, 
keine veränderung.

Andreas Riegebauer schrieb:
> Was hast du denn bei den PLL Einstellungen drinnen? Bei mir sieht das so
> aus. Welchen Quarz verwendest du?

Ein 8MHz Smd-Quarz. Aufschrift: "EQZBJ 8.000M 12pF EE"

#pragma config PLLDIV = 2 //Divide by 2 (8 MHz oscillator input)
#pragma config CPUDIV = OSC1_PLL2 //[Primary Oscillator Src: /1][96 MHz 
PLL Src: /2]
#pragma config FOSC = HSPLL_HS //HS oscillator, PLL enabled (HSPLL)
#pragma config FCMEN = OFF //Fail-Safe Clock Monitor disabled
#pragma code

Autor: Andreas Riegebauer (blackpuma)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie merkst du das die Einstellung nichts ändert?

Edit:
Sorry schon gesehen.
Du kannst mit den Einstellungen auch mit einem externen Quarz den Takt 
verändern.

Autor: Zens Uhr (panzerkeks) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich toggle eine LED und warte dann 1M Zyklen. Bei 1MHz leuchtet sie 4s 
lang, bei anderen Frequenzen entsprechend kürzer/länger. Wenn der PIC 
mit externem Takt laufen würde, würde er keinen 1MHz-Takt haben.
Außerdem kann ich über OSCCONbits.IRCF = 111; den Takt verändern, dabei 
dürfte das doch nur den internen Oszillator betreffen, oder?
Hab auch mal ein OSCCONbits.SCS = 0; probiert, um auf externen Takt zu 
gehen, aber keine Reaktion.

Autor: Zens Uhr (panzerkeks) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aha!
ich habe gerade
#pragma config IESO = OFF //Oscillator Switchover mode disabled
gefunden.

jetzt läuft er gar nicht mehr :P
das heißt wohl, der Quarz ist einfach nicht am µC dran, oder?

Autor: Uwe P. (strom12)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zens Uhr schrieb:
> Hallo zusammen,
>
> kann es sein, dass PICs (habe hier den 18F4550) wenn als Taktquelle HS
> (sprich ein Quarz) eingestellt ist, der aber nicht richtig verbunden ist
> (schlechte lötstelle, quarz einfach rausziehen, ...), auf den internen
> Oszillator zurückfallen?

Loonix hat es schon erwähnt mit dem Fail-Safe-Bit.
Hier der Auszug aus den Datenblatt.
------
Fail-Safe Clock Monitor: This option constantly
monitors the main clock source against a
reference signal provided by the internal
oscillator. If a clock failure occurs, the controller is
switched to the internal oscillator block, allowing
for continued low-speed operation or a safe
application shutdown
-----

Autor: Andreas Riegebauer (blackpuma)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du ein Messgerät? Nimm mal den Durchgangsprüfer und schau ob du von 
den Quarzpins zum uC PIN einen durchgang hast.

Autor: Andreas Riegebauer (blackpuma)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du Schaltplan und Layout bei der Hand?

Hab nachgesehen. Das OSCCON betrifft nur den internen Oszillator.

Autor: Zens Uhr (panzerkeks) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas Riegebauer schrieb:
> Hast du ein Messgerät? Nimm mal den Durchgangsprüfer und schau ob du von
> den Quarzpins zum uC PIN einen durchgang hast.

Quarz ist definitiv mit dem µC verbunden. Sogar an den richtigen Pins ;)
die Kondensatoren dazu haben leider keinen Aufdruck, vielleicht sind die 
falsch dimensioniert?... Mal sehn ob wir ein passendes Messgerät 
dahaben.

Andreas Riegebauer schrieb:
> Hast du Schaltplan und Layout bei der Hand?

Nein, leider nicht, ich bin schon froh dass ich eine Excel-Tabelle mit 
herausgeführten Anschlüssen bekommen habe.

Autor: Andreas Riegebauer (blackpuma)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zens Uhr schrieb:
> Andreas Riegebauer schrieb:
>> Hast du Schaltplan und Layout bei der Hand?
>
> Nein, leider nicht, ich bin schon froh dass ich eine Excel-Tabelle mit
> herausgeführten Anschlüssen bekommen habe.

Excel Tabelle für die Anschlüsse?! Was ist das für eine Schaltung? Ging 
das Teil schon mal? Sind aber schon Keramikkondensatoren dran an dem 
Quarz oder?

Autor: Zens Uhr (panzerkeks) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas Riegebauer schrieb:
> Was ist das für eine Schaltung?

Eine Art Breakout Board, wurde letztes Jahr von einem Zivi entworfen und 
20mal gebaut. Die soll ich jetzt verwenden... Ich muss mal versuchen ihn 
zu erreichen, vlt rückt er dann mal was raus von Schaltplan und Layout 
;)

Habs jetzt geschafft, offenbar war der Quarz im Eimer. Jetzt hab ich 
eine Platzmäßig total überdimensionierte Clock draufgebastelt (die ist 
halb so groß wie das board o.O) und die funktioniert super.

Danke für eure Hilfe!

Autor: Rainer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich seh schon, wenn ich das Layout herrausgebe landet es im Internet ...

Gut wenn man jemand hat auf den man schimpfen kann, wenn man etwas nicht 
auf die Reihe bringt!

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.