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