Forum: Mikrocontroller und Digitale Elektronik USB mit PIC 18F2550 und 40MHZ Oszi


von Thomas (Gast)


Lesenswert?

Buonasera!

Da ich in der nächsten Woche etwas mehr Zeit habe, mich mit µCs zu 
beschäftigen (bin sonst eher ein Software Mensch :D) habe ich mal den 
18F mit USB ins Visier genommen. Erfahrungen mit den 16F durfte ich 
schon einige sammeln, USB reizt mich aber deutlich mehr. Darüber hinaus 
erhoffe ich mir mehr vom C18. Die 16F habe ich mit dem cc5x geschrieben, 
der hat mir teilweise echt das Leben zur Hölle gemacht, weil er meinen 
zu sauberen Code nicht mochte.

Aufgehangen habe ich mich nun mit der Config des 18F2550.
1
#pragma config PLLDIV = 10, CPUDIV = OSC1_PLL2, USBDIV = 2, FOSC = ECPLLIO_EC

Ich habe schon alle erdenklichen Kombinationen durchprobiert, weil ich 
nicht ganz aus dem Datenblatt schlau werde:
 - ECPLLIO_EC/ECIO_EC
 - USBDIV 1, 2
 - CPUDIV OSC1_PLL2, OSC2_PLL23, OSC3_PLL4, OSC4_PLL6

Als Oszi hab ich den 40Mhz hier drin:
http://www.reichelt.de/?;ACTION=3;LA=444;GROUP=B42;GROUPID=3174;ARTICLE=13710;START=0;SORT=gesamtpreis;OFFSET=16;SID=22yhhsk9S4ARYAAHq21Mo6fb12b133ae1c6235017ff970175e677

Kann das überhaupt mit dem Funktionieren? Welche Werte muss ich für 
CPUDIV und USBDIV nehmen?

Meistens werden ja 10 und 20 Mhz Quarze genommen. Ich hab nur keine 
Kondensatoren im Bereich 15pf-30pf hier, sonst hätte ich auch nen 20Mhz 
Quarz mit dieser Config genommen (in der Kombi findet man es ja oft 
genug im www :)) :
1
#pragma config PLLDIV   = 5         // 20 MHz crystal
2
#pragma config CPUDIV   = OSC1_PLL2   
3
#pragma config USBDIV   = 2         // Clock source from 96MHz PLL/2
4
#pragma config FOSC     = HSPLL_HS

Als Quarz hab ich den hier noch da:
http://www.reichelt.de/?;ACTION=3;LA=444;GROUP=B41;GROUPID=3173;ARTICLE=32853;START=0;SORT=gesamtpreis;OFFSET=16;SID=22yhhsk9S4ARYAAHq21Mo6fb12b133ae1c6235017ff970175e677

Der in Verbindung mit zwei ~15pf Kondensatoren müsste dann doch auf 
jeden Fall für USB gehen, oder?

Ich bin für jede Hilfe dankbar :)

von holger (Gast)


Lesenswert?

>Der in Verbindung mit zwei ~15pf Kondensatoren müsste dann doch auf
>jeden Fall für USB gehen, oder?

Ja.

von Thomas (Gast)


Lesenswert?

Super, dann werd ich - falls sich nicht mehr herausstellt, dass das auch 
mit dem 40 MHz Oszi geht - mal morgen bei Conrad (das nächstgelegene, 
ca. 1 Stunde von hier :( ) vorbei schauen. Urlaub ist da schon 
praktisch. Naja, sonst hätte mir das Warten beim bestellen nicht so viel 
ausgemacht xD

von ado (Gast)


Lesenswert?

Für USB gehen nur bestimmte Quarze.

Z.B.
16 MHz für 3,3V Stromversorgung
20 MHz für 5 V.

Bzw. es gehen auch noch bestimmte kleiner Quarze, siehe Datenblatt ( Ich 
glaube 4 Mhz)

Intern wird die Frequenz hochgesetz.

Ich glaube auf 48 oder 96 Mhz; alles schön verwirrend.



Nimm einfach einen 16 oder 20 Mhz Quarz je nach Spannungsversorgung.

von helmut (Gast)


Lesenswert?

Ich meine, es geht in 4MHz-Schritten.

von Lehrmann M. (ubimbo)


Lesenswert?

Hallo,

das ganze funktioniert mit Sicherheit auch mit einem 20MHz Quarz. Siehe 
hierzu Sprut's Brenner8P.
http://sprut.de/electronic/pic/projekte/brenner8/index.htm#b8p
Mit Sicherheit eines der am meisten erprobten PIC USB-Projekte.

von Thomas (Gast)


Lesenswert?

Gut, genau den selben 20Mhz Quarz hab ich auch. Sprut verwendet dort 22p 
Kerkos, dann sollte ich die auch mit dem Quarz verwenden, wenn ich mich 
nicht irre.

Mal schauen, ob die aus der Conrad Filiale da helfen können :D.
Nur schade, dass mein 40Mhz Oszi nun wertlos ist ^^

Danke für eure Hilfe :)

von ado (Gast)


Lesenswert?

Im Datenblatt gibt es eine Grafik: Spannungsversorgung zu Taktfrequenz.

Darin sieht man, daß bei einer 3,3V Versorgung die 20 Mhz zu viel sind.

Die nächst mögliche Frequenz bei der auch USB verwendet werden kann ist 
16 Mhz.

So die Spezifikation :-)

Bei niedrigerer Spannungsversorgung ,z.B. war auch noch etwas mit den LF 
Typen:
18lf2550.

Bei einer 5V Aplikation den 20er Quarz nehmen und glücklich sein.

von Carsten S. (dg3ycs)


Lesenswert?

Hi,

zu der Ursprünglichen Frage:
Die angaben die für eine Externe Clock bei 40Mhz nötig sind findest du 
doch direkt im Datenblatt zum 18F2550. Table 2.3 (Seite 29)

Danach sollte von den Werten her deine oben aufgeführte Einstellung 
laufen... Wenn es trotzdem nicht läuft versuche mal ECPLL_EC als Osc. 
Mode.
(Habe das gerade aber nur aus dem Kopf, rechner die Tage neu gemacht und 
noch nicht alles wieder zurückgespielt. Daher weiß ich gerade nicht ob 
das ECPLL_EC wirklich eine gültige Einstellung ist.)

Ansonsten zur Quarz Diskussion... Für USB Funktionen ist die Frequenz 
von 4 Mhz sowie alle ganzen vielfache davon BIS 48MHz geeignet.

Der 2550 ist der 4550 im kleinen Gehäuse. In der Micrchip Framework 
Library und bei den Dateien zu diversen Demo Boards sind je ganug 
beispiele vorhanden. Für den 2550 kannst du einfach die Beispielconfigs 
für das PICDEM_FS Demo Board verwenden. Dort ist (teilweise?)der 4550 
verbaut.. Musst halt nur das Pinning anpassen.

Ansonsten kann ich nur sagen das solange es nicht zu aussergewöhnlich 
sein soll und die Verwendung des Frameworks in Frage kommt USB mit den 
Pics wirklich "bequem" ist. Und die Controller sind auch noch fast 
überall und sofort verfügbar ! ;-)
Besonders zu schätzen weiss man die Library wenn man wie ich 
mittlerweile für eine Spezialanwendung ein komplettes Prog mit LS 
Protokoll selber mal per Assembler zusammenschustern musste...

Gruß
Carsten

von Thomas (Gast)


Lesenswert?

Genau wegen dem Framework hab ich mich für diese Chips entschieden :)
Mit den Settings werde ich nochmal rumprobieren. Danke :)

von tswaehn (Gast)


Lesenswert?


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.