Forum: Mikrocontroller und Digitale Elektronik PIC18 welche Quarzfrequenz für meine Anwendung ?


von Mark A. (decode)


Lesenswert?

Hallo,

ich entwickel gerade ein Modul mit einem PIC18F25K80. Das Modul soll per 
I2C 2 ICs auslesen, die an 2 DC Spannungsversorgungsleitungen die 
Leistung messen, 2 Mosfets zum schalten dieser Leitungen und 3 
Statussignale ( High Low Signal ) einlesen und alle wichtigen Werte per 
CAN-Bus übertragen. Bis jetzt hatte ich nur mit dspics zu tun, die eine 
gute PLL besitzen. Nun habe ich mir das Datenblatt des PIC18 genauer 
angeschaut und wenn ich das richtig interpretiere kann ich entweder die 
Frequenz des externen Quarz direkt verwenden oder sie vervierfachen ?
Es ist wichtig dass der uC so stromsparen wie möglich arbeitet. 
Normalerweise lass ich meine uC immer mit vollem Takt laufen, diesmal 
kann ich das aber nicht machen. Ich denke 4MHz sollten gut reichen ?

Wenn ich einen 4MHz Quarz nehme, kann ich mich dann später per Software 
für 4 oder 16 MHz entscheiden oder ?

decode

von Carsten S. (dg3ycs)


Lesenswert?

Hi,

Mark A. schrieb:
> Wenn ich einen 4MHz Quarz nehme, kann ich mich dann später per Software
> für 4 oder 16 MHz entscheiden oder ?

Ja, sofern der Quarz an dem primären Oszillator angeschlossen ist kannst 
du später im Programm zwischen 4MHz & 16MHz quarzgenauen Takt beliebig 
umschalten.

Ausserdem könntest du auch noch zwischen dem Oszillator mit Quarz sowie 
dem internen Oszillator hin- und herschalten und bei Betrieb mit dem 
internen Oszillator beliebige Teilerfaktoren wählen sowie bei einigen 
Teilerfaktoren beliebig zwischen PLL "an" und "aus" umschalten...

Also ein Menge Möglichkeiten ;-)

Gruß
Carsten

: Bearbeitet durch User
von Wilhelm F. (Gast)


Lesenswert?

Bei I2C spielt eine genaue Taktrate überhaupt keine Rolle. Bei CAN 
hingegen schon.

von Mark A. (decode)


Lesenswert?

Wilhelm F. schrieb:
> Bei I2C spielt eine genaue Taktrate überhaupt keine Rolle. Bei CAN
> hingegen schon.

deswegen benutze ich auch extra einen Quarz, aber denkt ihr 4 MHz 
reichen für meine Anwendung ?

von Wilhelm F. (Gast)


Lesenswert?

Mark A. schrieb:

> deswegen benutze ich auch extra einen Quarz, aber denkt ihr 4 MHz
> reichen für meine Anwendung ?

Schau dir mal einen CAN-Frame an, und wie der bei ungenauer Frequenz 
auseinander driften kann. Es ist wegen der Framelänge ein wenig 
empfindlicher als UART. Das ist nur ein bißchen Rechnerei. Glaube aber, 
daß CAN mit normalen Quarzen gut geht.

von Carsten S. (dg3ycs)


Lesenswert?

Hi,

Wilhelm F. schrieb:
> Schau dir mal einen CAN-Frame an, und wie der bei ungenauer Frequenz
> auseinander driften kann. Es ist wegen der Framelänge ein wenig
> empfindlicher als UART. Das ist nur ein bißchen Rechnerei. Glaube aber,
> daß CAN mit normalen Quarzen gut geht.

GUTEN MORGEN!
Du stehst mal wieder völlig im Wald und schlitterst in diesem Thread zum 
zweiten mal am Thema vorbei...

@TE

Ob 4Mhz prinzipiell reichen kann man aus der Ferne nicht beurteilen. Es 
kommt darauf an was sonst noch so im µC wirklich abläuft (also nicht nur 
was er nach aussen hin so an Reaktionen zeigt) und vor allem auch von 
der CAN Geschwindigkeit, also ob High- oder Lowspeed sowie je nach 
sonstigem Programm vielleicht auch von der Auslastung des CAN Busses.

Ich mache es in solchen Fällen wo nicht von Anfang an eine Fixe Frequenz 
vorgegeben ist immer so:
Entwickelt wird mit der höchstmöglichen Geschwindigkeit, wobei ich von 
Anfang an schon versuche effektiven Code zu schreiben. Nach Abschluss 
des Projektes -wenn das Gesamtbild steht- finden sich dann natürlich 
noch immer weitere Stellen zur Optimierung.
Danach wird dann ermittelt (rechnerisch und/oder Messtechnisch) wie weit 
man mit der Geschwindigkeit runtergehen kann. Der Austausch eines 
Quarzes ist ja nun nicht das Problem, man muss nur dafür sorge tragen 
das es alle infragekommenden Typen mit dem jeweiligen Footprint gibt und 
darf die Order für die Großbestellung erst nach der endgültigen 
Festlegung geben.

Sehr oft kommt es mittlerweile aber auch vor das ich mit zwei 
Taktquellen arbeite. Also beispielsweise ein Quarz aussen der aber nur 
für einen Timer als genauer -und normalerweise schnellerer- Oszillator 
dient und der interne Oszillator der ja beliebig (meist sehr langsam) 
laufen kann.

Obwohl der interne Oszillator mehr Stromaufnahme hat als der XT/HS 
Oszillator und obwohl in diesem Fall sogar beide Oszillatoren zeitweise 
laufen ist das in manchen Anwendungen sogar in der Gesamtbetrachtung 
deutlich Stromsparender.
(Wobei das in diesem Fall ausscheidet da der CAN Takt bei diesem PIC 
IMHO direkt vom Systemoszillator abgeleitet wird und kein 
zwischenschritt über einen Timer erfolgt)

Gruß
Carsten

: Bearbeitet durch User
von Mark A. (decode)


Angehängte Dateien:

Lesenswert?

Carsten Sch. schrieb:
> Der Austausch eines
> Quarzes ist ja nun nicht das Problem, man muss nur dafür sorge tragen
> das es alle infragekommenden Typen mit dem jeweiligen Footprint gibt und
> darf die Order für die Großbestellung erst nach der endgültigen
> Festlegung geben.

Stimmt, so werde ich das auch machen, danke für den Tipp!

Eine kleine Frage noch bezüglich der Position des Quarzes auf der 
Platine: Aus Platzgründen befindet sich der Quarz jetzt zwischen der 
geschirmten Spule des Schaltreglers ( Links ) und dem PIC ( Rechts ) 
kann das später zu Problemen führen ?

von Carsten S. (dg3ycs)


Lesenswert?

Mark A. schrieb:
> Aus Platzgründen befindet sich der Quarz jetzt zwischen der
> geschirmten Spule des Schaltreglers ( Links ) und dem PIC ( Rechts )
> kann das später zu Problemen führen ?

Wenn man es genau nimmt ist diese Position schon recht ungünstig. Sollte 
es Alternativmöglichkeiten geben würde ich schon darüber nachdenken. 
Rein zur Vorsicht.

Allerdings denke ich das es mit etwas Umsicht auch so funktionieren 
sollte solange der Schaltregler jetzt keine wahnsinnig hohen Leistungen 
wandeln muss. Du schreibst ja ausdrücklich da die Spule geschirmt ist. 
Auch sind die PICs nun wirklich absolut keine sensibelchen im Bezug auf 
ihren Quarzoszillator. Man muss sich schon richtig anstrengen um den so 
zu beschalten das er nicht halbwegs stabil arbeitet.
Wenn man das jetzt noch in Bezug zu den Anforderungen setzt, also das es 
im Prinzip nur darum geht einen ausreichend Stabilen Takt für CAN zu 
haben, dann sieht es somit schon etwas freundlicher aus...

ICh habe als ganz groben Richtwert im Kopf das der Oszillator bei 
1Mbit/s CAN eine Toleran von maximal 0,5% haben darf, bei 125kBit/s 
etwas über 1%.
Das sind 5000 ppm bzw. mehr als 10 000 ppm
Mit einem billigen Quarz liegst du bei einer Maximalen Abweichung (Drift 
+ Grundfrequenzoffset) von unter 100ppm.

Also Faktor 50 bis 100 besser als du es mindestens brauchst.

Daher würde ich sagen, wenn die Leistung des Wandlers nicht zu hoch ist 
und du dir etwas Gedanken sowohl um die Leiterbahnführung sowie auch 
über die Masseführung im Bereich des Quarzes machst, dann dürfte das 
auch mit dieser sehr ungüstigen Positionieren FÜR DIESE ANWENDUNG 
funktionieren.

Trotzdem würde ich noch einmal sehr genau überlegen ob man Quarz und 
Schaltreglermimik nicht noch weiter voneinander entkoppeln kann. Auch 
hast du jetzt ja ein HC49SMD gehäuse genommen was ja geradezu riesig 
ist.
Da gibt es heute so manch kleineres - evtl. wird dann noch Platz frei...

Gruß
Carsten

von Mark A. (decode)


Lesenswert?

Danke für die ausführliche Antwort.

Es gäbe noch eine Position aber in Ihrer unmittelbarer Nähe führt eine 
Dicke Leiterbahn mit 24V DC und im maximalen Fall 5 A.

Der Schaltregler soll mit 100KHz - 120KHz laufen und versorgt den PIC, 
den CAN-PHY, die I2C ICs und einen weiteren IC ich schätze mal dass der 
Schaltregler einen mittleren Strom von ca 60mA - 80mA wandeln muss.

Carsten Sch. schrieb:
> Auch
> hast du jetzt ja ein HC49SMD gehäuse genommen was ja geradezu riesig
> ist.
> Da gibt es heute so manch kleineres - evtl. wird dann noch Platz frei...

Nur leider konnte ich im 4MHz bereich keine kleinere Gehäuse finden...

: Bearbeitet durch User
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
Noch kein Account? Hier anmelden.