polygon-online.com

Transcrição

polygon-online.com
Polygon
USB-FIFO
Industrie-Automation
Konverter USB
parallel (FIFO)
Eigenschaften
•
•
•
•
•
•
•
•
USB 1.1 und USB 2.0 kompatibel
Versorgung über USB
1 Mbyte/s max. Datenrate
8 bit bidirektionale Daten
4 Handshake-Signale
5 V Versorgung für Peripherie
20-polige Pfostenleiste
Virtual COM port (VCP)- und Direkt-Treiber (DLL)
Beschreibung
USB-FIFO ist ein Konverter-Modul, das am USB-Port parallele Daten verarbeiten kann. Das Modul hat einen
Sendepuffer von 384 Byte (Daten an USB) und einen Empfangspuffer von 128 Byte (Daten von USB).
8 bidirektionale Datenleitungen und 4 Handshake-Leitungen sorgen für Datentransfer vom oder zum USB-Host.
Typischerweise können hier µ-Controller, Gate-Arrays, oder einfache Logikbausteine angeschlossen werden.
Neben dem reinen Handshake-Betrieb als 8-bit-Datenport gibt es eine weitere Betriebsart, bei der die Datenleitungen einzeln als Aus- oder Eingang geschaltet werden (Bit-Bang-Mode). Damit eröffnen sich weitere Möglichkeiten wie das direkte Anschließen von LC-Displays ohne weitere Elektronik oder das serielle Programmieren von µ-Prozessoren.
Treiber gibt es für Windows 98, Windows ME, Windows 2000 und Windows XP, wahlweise als VCP (Virtual
COM Port) oder als DLL mit WDM-Treiber zur Anbindung an eigene Software ( VC++, C++ Builder, Delphi, VB,
LabView, etc.), und auch für Apple OS-8, OS-9 und OS-X sowie Linux (ab Kernel 2.4.0).
Anschlussbelegung
1
3
5
7
9
11
13
D0
D2
D4
D8
RD
TXE
SI/WU
2
4
6
8
10
12
14
15-20
GND
D1
D3
D5
D7
WR
RXF
PWR
19
20
1
2
Zum Anschluss an den USB wird ein Kabel mit Stecker A zu Stecker B benötigt (Typ A/B).
www.polygon-online.com
1
USB-FIFO
Polygon
Industrie-Automation
Treiber-Installation
Für das USB-FIFO Modul wird ein komplettes Treiberpaket mitgeliefert. Im Bedarfsfall können aktuelle Treiber
auch von unserer Website heruntergeladen werden: http://www.polygon-online.com/customer.html.
Die VCP-Treiber (Virtual COM Port-Treiber) für Windows werden vom Betriebssystem als eine weitere serielle
Schnittstelle - zusätzlich zu den bereits vorhandenen Hardware-Schnittstellen - gesehen. Applikations-Software greift damit auf das USB-Modul in der gleichen Weise zu, wie sie auf eine serielle Standard-Schnittstelle
zugreifen würde; z.B. über die Windows VCOMM-API-Aufrufe oder über eine COM-Port-Bibliothek.
Die Direkt-Treiber für Windows bieten eine Alternative zu den VCP-Treibern. Damit kann Applikations-Software über eine DLL direkt anstatt über COM-Ports auf das USB-Modul zugreifen. Der Direkt-Treiber besteht aus
einem Windows WDM-Treiber, der mit dem USB-Modul über den Windows USB-Stack kommuniziert, und eine
DLL, die die Schnittstelle zwischen WDM-Treiber und Applikations-Software (geschrieben in C++, Delphi,
Visual Basic etc.) bildet. Eine INF-Installationsdatei und ein De-Installationsprogramm runden das Treiberpaket ab.
Treiber für die Apple-Betriebssysteme einschließlich OS-8, OS-9 und OS-X stehen ebenfalls zur Verfügung.
Während OS-8 und OS-9 sich den gleichen Satz Treiber teilen, werden für OS-X (alias OS-10) abweichende
Treiber benötigt.
Ab dem Linux-Kernel 2.4.0 sind Treiber für das USB-Modul bereits im Kernel vorhanden und werden daher
nicht zusätzlich benötigt.
Die Installation der Treiber erfolgt in der für das jeweilige Betriebssystem üblichen Weise. Eine detaillierte
Beschreibung ist als separate PDF-Datei dem Treiberpaket beigefügt bzw. kann von unserer Website heruntergeladen werden.
Anschluss-Beschreibung
D0 ... D7
RD
WR
TXE
RXF
PWR
Gnd
SI/WU
FIFO-Datenbus bits 0 ... 7
wenn logisch ‘0’, liegen die aktuellen Empfangs-Daten an D0 ... D7; beim Übergang auf
logisch ‘1’ werden die nächsten Daten aus dem Empfangs-FIFO adressiert.
beim Übergang von logisch ‘1’ auf logisch ‘0’ werden externe Daten an D0 ... D7 ins
Sende-FIFO geschrieben
logisch ‘0’ signalisiert, dass Daten mit WR ins FIFO geschrieben werden können
logisch ‘0’ signalisiert, dass Daten im FIFO bereitstehen und mit RD ausgelesen werden
können
vom USB bereitgestellte Spannung. Die Belastung darf 100mA nicht überschreiten, solange das Modul noch nicht konfiguriert ist, danach 500mA. Im Ruhe-Zustand (Suspend)
können nur maximal 2,5mA entnommen werden.
Rückführung der USB-Spannungsversorgung
Send Immediate / Wake Up: Wird hier ein logisch ‘0’-Puls angelegt, dann werden alle
Daten, die sich noch im Sende-FIFO befinden, bei der nächsten BULK-IN Anforderungen
über den USB geschickt - unabhängig von der aktuellen Paketgröße. Ist der USB jedoch
im Ruhe-Zustand (Suspend), dann weckt ein logisch ‘0’-Puls den USB wieder auf.
Handshake-Betrieb
Im Handshake-Betrieb entscheiden die Signale RD und WR, ob der Datenbus Eingang ist: WR wird ‘0’, oder
Ausgang: RD =0. Hat das Eingangs-FIFO noch Platz, ist die Signalleitung TXE=0; stehen neue Daten im
Ausgangs-FIFO, ist die Signalleitung RXF=0.
2
www.polygon-online.com
Polygon
USB-FIFO
Industrie-Automation
Schreiben
Lesen
RXF
TXE
RD
WR
D[7..0]
D D[7..0]
Gültige Daten
Gültige Daten
Handshake-Betrieb
Einzelbit-Betrieb
Im Bit-Bang-Mode können die Datenleitungen einzeln und unabhängig voneinander als Aus- bzw. Eingang
festgelegt werden. Die Handshake-Leitungen verlieren hierbei ihre Bedeutung.
Alle Daten, die an das USB-Modul gesendet werden, werden synchron zu einem eingebauten Taktgeber (Baud
Rate Generator) auf die als Ausgang geschalteten Leitungen geschickt.
Für den Einzelbit-Betrieb können nur die Direkt-Treiber und nicht die VCP-Treiber benutzt werden. Die entsprechenden Kommandos lauten:
1)
FT_SetBaudRate (FT_handle: Dword; BaudRate: Dword): FT_Result
Hiermit wird die Taktrate eingestellt, die die Daten, die das Modul vom USB empfängt, auf die Ausgangsleitungen legt. Gleichzeitig ist es die Abtastrate, mit der Daten an den Eingangsleitungen in den
FIFO gelesen werden. Die maximale Baudrate beträgt 3 Megabaud. Die Takt- bzw. Abtastrate ist das
16-fache der Baudrate. Ein Wert von 9600 Baud führt also zu einer Abtastrate von 153600 Bytes pro
Sekunde bzw. einem Aktualisierungs-Intervall von 6,5 µs.
2)
FT_SetBitMode (ftHandle: Dword; ucMask, ucEnable: Byte): FT_Result
Hiermit wird festgelegt, welche der Datenleitungen Eingang und welche Ausgang sind. Jedes Bit, das
in ucMask, gesetzt ist, steht für einen Ausgang, jedes nicht gesetzte für einen Eingang. Werden
Daten über den USB gelesen, werden die Zustände von allen Datenleitungen, Ein- und Ausgängen, als
Datenbyte übermittelt.
ucEnable schaltet den Einzelbit-Betrieb ein (Bit 0 = 1) bzw. aus Bit 0 = 0).
3)
FT_GetBitMode (ftHandle: Dword; pucData: pointer): FT_Result
Diese Funktion erlaubt ein unmittelbares Lesen der 8 Datenleitungen über den USB. Normalerweise
werden die Daten entsprechend der Abtastrate in das FIFO eingelesen, bis dieses voll ist. Dadurch
sind die aus dem FIFO über den USB übertragenen Daten alt.
pucData ist ein Zeiger auf die Speicherstelle, in der die Daten abgelegt werden sollen.
Ausführliche Informationen zur Programmierung mit den Direkt-Treibern findet sich in: D2XXPG21.pdf
Elektrische Kennwerte
Digital-Ausgänge (Quelle)
≤4 mA
≤4 mA
Digital-Eingangspegel logisch ‘0’
Digital-Eingangspegel logisch ‘1’
max. Strom über PWR
< 0,6 V
> 2,7 V
500 mA
Digital-Ausgänge (Senke)
www.polygon-online.com
3
Polygon
USB-FIFO
Industrie-Automation
Abmessungen [mm]
43
51
20
Polygon
Ingenieur-Büro für Industrieautomation
Dipl.-Phys. Detlef Mahr
Basler Str. 103
D-79100 Freiburg
tel +49 761 4001093
fax +49 761 4001094
email: [email protected]
www.polygon-online.com
4
www.polygon-online.com