Hardware Reference
In-Depth Information
grafisch hervorgehoben [DataSheet: Bild 2-1].Für diesen Funktionsblock ist ent-
scheidend, dass am Punkt „USB Peripheral“ die für den Betrieb der USB-Bau-
gruppe nötige Taktfrequenz vorhanden ist. Damit USB 2.0 unterstützt werden
kann, muss der USB im Full-speed-Modus arbeiten können. Dazu braucht die
USB-Peripherie von PIC18F4550 eine Taktfrequenz von 48 MHz [DataSheet: 2.3].
Dieser Takt wird aus dem internen Phasenregelkreis (96 MHZ PLL) gewonnen.
Die hier eingesetzte Schaltung erzeugt eine feste Taktfrequenz von 96 MHz, die
mit einer Eingangsfrequenz von 4 MHz synchronisiert werden muss. Ein Teiler
halbiert die 96 MHz zu den gewünschten 48 MHz. Um diesen Signalweg inner-
halbdesOszillatormodulszuschalten,wirddieDirektiveCONFIGUSBDIV=2
verwendet.DerPrimäroszillator(Primary Oscillator) des PIC18F4550 wird so
beschaltet, dass er mit einem externen Quarz mit 20 MHz Oszillationsfrequenz
getaktet wird [DataSheet: 2.2.2]. Dazu wird der Primäroszillator auf die Betriebs-
art High-speed-Crystal/Resonator (HS) eingestellt. Das ist eine von insgesamt
zwölf Oszillatortypen, die mit dem PIC18F4550 möglich sind [DataSheet: 2.2.].
Dem Konfigurationsregister wird diese Betriebsart mit der Direktive CONFIG
FOSC = HSPLL_HS mitgeteilt, die im Klartext etwa soviel heißt wie: „Verwende
den High-speed-Oszillator, schalte die PLL ein und versorge die USB-Baugruppe
mit diesem Taktsignal“. Jetzt muss dafür gesorgt werden, dass die Phasenregel-
schleife mit dem richtigen Eingangstakt versorgt wird. Dazu muss der Eingangs-
teiler vor der PLL konfiguriert werden. Die PLL benötigt 4 MHz, somit müssen
die 20 MHz des Primäroszillators durch 5 geteilt werden. Die Direktive dazu ist
CONFIG PLLDIV = 5.
Da die PLL das Taktsignal liefert, ergibt sich als Nebeneffekt der Konfiguration zur
USB-Taktversorgung, dass für einen geeignetenCPU-Taktgesorgtwerdenmuss.Im
folgenden Bild ist der Signalweg für den CPU-Takt hervorgehoben. Die CPU darf
mit maximal 48 MHz getaktet werden, deshalb muss der PLL-Postselector die
96 MHz des PLL-Oszillators durch 2 teilen. Das geschieht mit der Direktive CON-
FIG CPUDIV = OSC1_PLL2.
Nachdem die Taktversorgung für USB und CPU konfiguriert ist, fehlt nur noch ein
Detail, das im Zusammenhang mit den FLASH-Konfigurationsregistern berück-
sichtigt werden muss. Das USB-Modul braucht eine Versorgungsspannung von
3,3 V, die am Pin VUSB des PIC18F4550 anstehen muss [DataSheet: Bild 17_1].
Dafür gibt es zwei Möglichkeiten: Entweder wird eine externe Spannungsversor-
gung verwendet oder ein interner 3,3 V-Regler des USB-Moduls kommt zum Ein-
satz [DataSheet: 17.1]. Im Projekt zu diesem Buch wurde die zweite Möglichkeit
gewählt. Die interne Versorgungsspannung muss deswegen eingeschaltet werden.
Das geschieht mit der Direktive CONFIG VREGEN = ON.
Search WWH ::




Custom Search