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
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
Bei I2C spielt eine genaue Taktrate überhaupt keine Rolle. Bei CAN hingegen schon.
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 ?
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.
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
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 ?
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.