Hardware Reference
In-Depth Information
Möglichkeit, einen externen Transceiver einsetzen zu können, ist eine nützliche
Eigenschaft des verwendeten Mikrocontrollers. Damit kann nämlich eine elektri-
sche Trennung, (z. B. über Optokoppler) zwischen der Geräte-Elektronik und dem
USB-Bussystem (und damit dem Host) ermöglicht werden. Besonders in Messtech-
nikanwendungen kann es von entscheidender Bedeutung sein, ob das Messgerät
vom Bezugspotenzial des Bussystems getrennt werden kann, damit Masseschleifen,
leitungsgebundene Störungen und Ausgleichströme vermieden werden können. In
der Beispielanwendung ist diese Maßnahme nicht vorgesehen, sondern es wird der
interne Transceiver benutzt. Dazu muss UTRDIS auf 0 stehen. Wenn das Bit UOE-
MON auf 1 gesetzt wird, wird die Monitorfunktion der Datenübertragungsrich-
tung aktiviert, sofern der interne Transceiver verwendet wird. Wenn UTRDIS auf 1
steht, ist die Monitorfunktion automatisch aktiv. Bei aktiver Monitorfunktion kann
am Pin UOE-nicht gemessen werden, in welcher Richtung der Transceiver arbeitet
[DataSheet: 17.2.2.6].
UTEYE
Wenn das BitUTEYE auf 1 gesetzt ist, wird über die SIE ein Testmuster erzeugt und
über den Transceiver gesendet. Dieses Bit darf niemals auf 1 gesetzt sein, wenn das
Gerät an einen USB angeschlossen ist [DataSheet: 17.2.2.7].
PPB1 und PPB0
Mit den beiden Bits PPB1 und PPB0 wird die Ping-Pong-Buffer-Konfiguration der
USB-Schnittstelle eingestellt. Es besteht die Möglichkeit, für einen Endpoint zwei
Speicherbereiche zu definieren, über die abwechselnd Daten übertragen werden.
Damit lässt sich die Übertragungsrate erhöhen, weil jeweils ein Datenpuffer gleich-
zeitig für die SIE und die CPU zur Verfügung stehen [DataSheet 17.4.4]. Es stehen
drei verschiedene Konfigurationen für Ping-Pong-Pufferung zur Verfügung. Wenn
beide Bits auf 0 stehen, arbeitet kein Endpoint im Ping-Pong-Modus, und diese
Variante wird im Beispielgerät gewählt [DataSheet Bild 17-7]. Mit der Einstellung
der Bits PPB1 und PPB0 im Register UCFG wird automatisch festgelegt, wie die
Buffer-Deskriptor-Tabelle der USB-Schnittstelle aufgebaut ist. In diese Tabelle wird
die Konfiguration der einzelnen Endpoints eingetragen. Jeder Endpoint hat bei der
gewählten Konfiguration ohne Ping-Pong-Buffer in dieser Tabelle 4 Bytes Platz.
Somit umfasst die gesamte Tabelle 128 Bytes für alle 32 Endpoints. Die Tabelle liegt
im RAM-Bereich des PIC18F4550 Mikrocontrollers, und zwar am Beginn des Spei-
cherbereichs von 1 KByte USB RAM, auf den sowohl die SIE als auch die CPU
zugreifen können. Dieser Bereich beginnt an der Adresse 0x0400 und endet bei
0x07FF. Der Bereich von 0x0400 bis 0x04FF ist für die Buffer-Deskriptor-Tabelle
reserviert. Ab Adresse 0x0500 bis zu Adresse 0x07FF ist Platz für Endpoint-Spei-
cherbereiche [DataSheet: Bild 17-5].
Search WWH ::




Custom Search