Forum: Mikrocontroller und Digitale Elektronik PIC18F46J11 und RTC. Quarz nötig? Anfängerfrage Übersicht verloren ;-(


von Rene M. (sanduhrgucker)


Angehängte Dateien:

Lesenswert?

Hallo Forum,

ich bastele mit einem PIC18F46J11 eine (Armband)-Uhr, und habe wegen der 
Platzproblematik das QFN44 Package gewählt. Auf 30x30mm bleibt nicht 
viel Platz für großartige zusätzliche Bauteile. Und der Mc braucht ja 
schon hier noch einen Widerstand, da einen Kondensator um ihn überhaupt 
zu betreiben.

Beim Studium des Datenblatts verliere ich allerdings als Anfänger 
ständig den Überblick. Timer gibts jede Menge, es heist eine RTC ist 
incl.
Im Kapitel 2.6 "External Oscillator Pins" sind Beispielschaltungen für 
externe Takt-Quarze, etwas weiter im Kapitel 3.2.1 "Oscillator Modes" 
sieht es im Blockschaltbild des CHips so aus, als wären intern bereits 
quarze.

Ist ein Externer Quarz denn jetzt notwendig oder nicht?

bin für jeden Tip dankbar,
Rene'

PS: Datenblatt im Anhang.

von Max H. (hartl192)


Lesenswert?

Rene Munsch schrieb:
> Ist ein Externer Quarz denn jetzt notwendig oder nicht?
Ja, ich weiß nicht ob man den RTCC mit dem internen Oszillator (KEIN 
Quarz!!) betreiben könnte, aber die Genauigkeit kannst du mit dem 
internen vergessen. Du brauchst aber nur den Timer1 Oscillator.

Die Kondensatoren und die Widerstände gibt es alle in SMD-0603 
(1.6*0.8mm²) oder kleiner.

von Erich (Gast)


Lesenswert?

>und habe wegen der Platzproblematik das QFN44 Package
Das Gehäuse ist 8x8 mm gross.

Warum hast du nicht ein Bauteil im UQFN Gehäuse genommen?
Ist das das zu klein mit 5x5 mm ?

Und vielen Dank für das 4 MByte Datenblatt
Aber ein Link hätte auch genügt.
http://www.microchip.com/wwwproducts/Devices.aspx?product=PIC18F46J11

Folgenden halte ich für besser geeignet für dein Projekt,
http://www.microchip.com/wwwproducts/Devices.aspx?product=PIC16LF1907
wobei wohl die Uhr selbst programmiert werden müsste, z.B. lt. AN1303 
(dto. Microchip)

>Beim Studium des Datenblatts verliere ich allerdings
>als Anfänger ständig den Überblick
Du solltest zunächst die Funktionalität auf "grosser Platine" 
darstellen, mit DIP Variante deines uC.
Oder einem fertigen Board.
Geeignet evtl. DM164130-4  (in Kombination mit PicKit3 = DV164131)

http://www.microchipdirect.com/ProductSearch.aspx?keywords=DV164131

Gruss

von Max H. (hartl192)


Lesenswert?

Erich schrieb:
> Folgenden halte ich für besser geeignet für dein Projekt,
> http://www.microchip.com/wwwproducts/Devices.aspx?product=PIC16LF1907
Darf ich fragen wieso? Wenn ja, wieso hältst du den 16LF1907 für besser 
geeignet?

von Max H. (hartl192)


Lesenswert?

Ich habe in Datenblatt nachgelesen, man könnte den RTCC auch mit dem 
internen Oszillator betreiben, der hat aber in günstigsten Fall eine 
Genauigkeit von typ ±0.15%, das sind ca. 43 Sekunden pro Tag…

von Rene M. (sanduhrgucker)


Lesenswert?

Hallo @all nochmal, und schonmal vielen Dank für die Rückmeldungen.
Den Mc dieses Typs scheint es in UQFN nicht zu geben. QFN hielt ich für 
ausreichend. Ausserdem war es eine Frage von Speichergröße, IO Anzahl 
und leider auch Verfügbarkeit.

Da ein HotSwap QFN-Adapter um die 80 Euronen kostet, hatte ich nur mal 
einen Mc mehr bestellt, und werde einen auf eine 2€ Adapterplatine 
bringen um generelle tests zu machen.

Was den alternativen Mc angeht, schätze ich Erich meint den Vorteil 
durch das Feature "116 LCD segment drive support". Ich habe jetzt nur 
flüchtig über das Datenblatt geschaut, dort ist dann aber plötzlich von 
"72 LCD segment drive support" die Rede. Und letztlich hab ich noch 
nicht verstanden wie das genau funktionieren soll.

Nun habe ich ja auch ein paar von den PIC18F46J11 hier liegen, und würde 
das mal als V1 durchziehen wollen.

@Max: Du meinst mit "Timer Oscillator" sicher den T1OSI-Pin oder?
Mit welcher schaltung bzw welchen Teilen würde ich denn da was 
hinzufügen?
In Figure 2-5 in Kapitel 2.6 sind ja zwei schlatungen, die Teilemässig 
und was die Anzahl der Anschlüsse angeht, unterschiedlichen Umfang 
haben. Ich würde es so simple wie möglich brauchen. Kann ich da nicht 
mit einem Kondensator gegen Ground und dem Quarz gegen Pin T1OSI 
auskommen?

bin ganz gespannt....
Rene'

von Max H. (hartl192)


Angehängte Dateien:

Lesenswert?

Rene Munsch schrieb:
> Ich würde es so simple wie möglich brauchen.
Und so "kompliziert" wie nötig.
> Kann ich da nicht
> mit einem Kondensator gegen Ground und dem Quarz gegen Pin T1OSI
> auskommen?
Nein, T1OSO&T1OSI musst du beide wie im Anhang beschalten. OSC1&OSC2 
kannst du auch unbeschalten lassen bzw. als IOs verwenden und für den 
CPU Takt den internen Oszillator verwenden, da seine Genauigkeit nicht 
so relevant ist, da der RTCC mit dem T1OSC die Zeit zählt.

von Rene M. (sanduhrgucker)


Lesenswert?

So. Ich bin alles zweimal durchgegangen, bin mir nur unsicher, ob die 
Anforderung von Figure 2-1 in Kapitel 2.1 in meinem Plan so richtig 
sind.

Mag sich jemand erbarmen sich das nochmal anzusehen? (Büdde Büdde)

Wenn alles toll ist, kann ich endlich versuchen das mal als board zu 
entknoten ;-)

von Max H. (hartl192)


Lesenswert?

Rene Munsch schrieb:
> in meinem Plan
Welchem Plan?

von Rene M. (sanduhrgucker)


Angehängte Dateien:

Lesenswert?

Upps...   anbei ;-)

von Rene M. (sanduhrgucker)


Lesenswert?

huch, Ich finde auch grade noch im Datenblatt (Figure 29-2), das 
VDD-core < VDD sein muss.
Wie erreiche ich das denn? Ist ja eine Baterieanwendung. die soll mit 
2,8V laufen.

von Max H. (hartl192)


Lesenswert?

1) Vss=GND ich würde überall das GND Symbol verwenden.
2) Die Beschaltung von T1OSO&T1OSI ist falsch
3) Den Quecksilberschalter würde ich an interruptfähige Pins hängen 
(alle Pins die mit RPx bezeichnet sind kann man das INT1, INT2, INT3) 
Mir denen kannst du den µC aus dem Sleep aufwecken.
4) Wenn du schon 100nF von Vdd nach Vss hast, brauchst du keine 
zusätzlichen von Vss nach Vdd
5) An die Vss und Vdd Pins wirst du noch die Vdd bzw. Vss/GND Labels 
anschließen müssen.
6) Da du keine Analoge Schaltung hast, kannst du AVdd und Vdd bzw. AVss 
und Vss einfach miteinander verbinden und für die nebeneinanderliegenden 
Pins nur einen Kondensator verwenden.
7) Im Datenblatt schreibt Microchip:
> For the QFN package, it is recommended that the bottom pad be connected
> to VSS
8) Ich würde noch ein paar Tasten zum Einstellen der Uhrzeit einbauen, 
RA6 und RA7 kannst du als IOs verwenden, da du die CPU mit dem internen 
Oszillator taktest. Die Tasten würde ich an PORTB hängen, da dieser 
zuschaltbare interne Pullups hat. Du kannst sie auch an RB7 und RB6 
hängen, wenn du sie nicht während dem programmieren zu drückst.


Rene Munsch schrieb:
> Wie erreiche ich das denn?
Der PIC hat einen integrierten Spannungsregler und generiert sich Vcore 
aus Vdd

von Rene M. (sanduhrgucker)


Lesenswert?

Danke Max, deine Tips sind Wegweisend, und haben wohl schon jetzt viel 
Frust verhindert!
Ich habe Tip1-7 so umgesetzt (bitte nochmal auf den quarz gucken), 
Buttons kommen keine ran. Ich werde die Einstellmöglichkeit über die 
Queckies programmieren.

Wenn du nochmal kurz draufspingst wie es jetzt ist, werde ich mal mit 
dem Platzieren und Entwirren auf dem Board anfangen. Auch dazu hätte ich 
noch eine Frage:
Auf die eine seite der Platine sollen alle Widerstände und LEDs, auf die 
andere die Feserkontakte und der Mc selbst. Das wird wohl auf eine Menge 
durchkontaktierungen hinauslaufen. Lässt sich sowas beim Autorouter 
berücksichtigen, oder muss ich da immer manuell den Layer wechseln?

PS: Wenn du mir per PN deine Addy mailst, würde ich mich gerne mit einem 
Kasten meines Selbstgebrauten Bieres bei dir bedanken.

von Max H. (hartl192)


Lesenswert?

Anhang...

von Rene M. (sanduhrgucker)


Angehängte Dateien:

Lesenswert?

Lol

von Max H. (hartl192)


Lesenswert?

1) Der Oszillator passt so
2) Unten links hast du noch ein paar Vss Lables
3) Ich würde 2* 100nF für Vcc vorsehen:
   -Zwischen Pin 6 und 7/8
   -Zwischen Pin 28/29 und 30/31
4) VDDcore bekommt seinen privaten 10µF auf Masse und wird nicht mit Vdd 
verbunden, Vcore darf laut Absolute Maximum Ratings 2.75V haben.

von Rene M. (sanduhrgucker)


Angehängte Dateien:

Lesenswert?

Soa. Wenn ich dich richtig verstanden habe und das auch noch richtig 
eingearbeitet habe nick nochmal bitte.
Sieht jetzt richtig aber hässlich aus ;-)

von Max H. (hartl192)


Angehängte Dateien:

Lesenswert?

2x100nF (auf jeder Seite einen) zwischen Vdd und Vss sollten reichen.
Die Kondensatoren sollen dann natürlich nicht unter den IC. Sie sollten 
so nahe wie möglich an den Pins sein.

Noch ein kleine Hinweis:
mF ist Millifarad (10^-3)
µF ist Microfarad (10^-6)

Für dem Quarz sind 0.1mF viel zu viel und 0.1µF wären es auch, die im 
Datenblatt angegebene Lastkapazität ist in der Größenordnung von ca. 
22pF

von Rene M. (sanduhrgucker)


Angehängte Dateien:

Lesenswert?

Fixed. Bekomme ich jetzt grünes Licht? ;-)

von Max H. (hartl192)


Lesenswert?

Die Kondensatoren unter dem IC würde ich löschen, 2*100nF sollten 
reichen.

C1 sollte 10µF sein, genaueres im Datenblatt "2.4 Voltage Regulator Pins 
(VCAP/VDDCORE)"

von Rene M. (sanduhrgucker)


Lesenswert?

Daumen hoch! vielen, vielen Dank!

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.