Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberWO2012150267 A1
Publication typeApplication
Application numberPCT/EP2012/058040
Publication dateNov 8, 2012
Filing dateMay 2, 2012
Priority dateMay 2, 2011
Also published asDE102011075096A1
Publication numberPCT/2012/58040, PCT/EP/12/058040, PCT/EP/12/58040, PCT/EP/2012/058040, PCT/EP/2012/58040, PCT/EP12/058040, PCT/EP12/58040, PCT/EP12058040, PCT/EP1258040, PCT/EP2012/058040, PCT/EP2012/58040, PCT/EP2012058040, PCT/EP201258040, WO 2012/150267 A1, WO 2012150267 A1, WO 2012150267A1, WO-A1-2012150267, WO2012/150267A1, WO2012150267 A1, WO2012150267A1
InventorsMarkus Münzer
ApplicantTesto Ag
Export CitationBiBTeX, EndNote, RefMan
External Links: Patentscope, Espacenet
Data communication via usb mass storage interface
WO 2012150267 A1
Abstract
The invention relates to a system for continuously transmitting data between a terminal and a computer. The system comprises the following: a USB bus; a terminal which continuously generates data during operation and which continuously makes said data available on a USB bus in accordance with the USB mass storage class standard; and a computer which is connected to the USB bus, which comprises a USB device driver that operates in accordance with the USB mass storage class standard, and which comprises an application program designed to receive the data that is continuously generated by the measuring device from the USB bus using the device driver.
Claims  translated from German  (OCR text may contain errors)

Patentansprüche Claims

1 . First System zur laufenden Übertragung von Daten zwischen einem Endgerät und einem Computer; das System umfasst folgendes: System for the continuous transmission of data between a terminal and a computer, the system comprising:

einen USB-Bus; a USB bus;

ein Endgerät, das im Betrieb kontinuierlich Daten erzeugt und diese kontinuierlich entsprechend dem USB-Mass-Storage-Class-Standard auf einem USB-Bus zur Verfügung stellt; a device that continuously generates data in operation and this is continuously according to the USB Mass Storage Class standard to a USB bus is available;

einen mit dem USB-Bus verbundenen Computer mit einem als USB- Gerätetreiber, welcher entsprechend dem USB-Mass-Storage-Class-Standard arbeitet, und one connected to the computer with a USB bus when the USB device driver, which operates according to the USB Mass Storage Class standard, and

einem Anwenderprogramm, welches dazu ausgebildet ist, die vom Messgerät kontinuierlich erzeugten Daten mit Hilfe des Gerätetreibers vom USB- Bus zu empfangen. a user program which is adapted to receive the data from the measuring device continuously generated by means of the device driver of the USB bus.

2. 2 System gemäß Anspruch 1 , bei dem System according to claim 1, wherein

die kontinuierliche Übertragung der Daten vom Endgerät zum Computer insbesondere in Echtzeit erfolgt und bei dem in particular to the computer is the continuous transfer of data from the terminal in real time and in which

die kontinuierliche Datenübertragung mit Hilfe von SCSI-Befehlen erfolgt, die durch den Gerätetreiber zur Verfügung gestellt werden und die für die Übertragung von Ordnern und Dateien nicht benötigt werden. continuous data transfer using SCSI commands is to be provided by the device driver available and which are not required for the transfer of folders and files.

3. 3 System gemäß Anspruch 2, wobei die kontinuierliche Datenübertragung insbesondere mit Hilfe der SCSI-Befehle„3D WRITE BUFFER" und„3C READ System according to claim 2, wherein the continuous data transmission, in particular by means of SCSI commands "3D WRITE BUFFER", and "3C READ

BUFFER" erfolgt. BUFFER "is.

4. 4 System gemäß Anspruch 1 , 2 oder 3, bei dem das Anwenderprogramm und Endgerät dazu ausgebildet sind, kontinuierlich in beide Richtungen Daten unter Verwendung von durch den Gerätetreiber zur Verfügung gestellten SCSI- Befehlen, insbesondere den SCSI-Befehlen„3D WRITE BUFFER" bzw.„3C READ BUFFER", auszutauschen. System according to claim 1, 2 or 3, wherein the application program and the terminal are adapted continuously in both directions of data using provided by the device drivers SCSI commands, in particular SCSI commands "3D WRITE BUFFER" or " 3C READ BUFFER "to share.

5. 5 System gemäß einem der Ansprüche 1 , 2 oder 3, bei dem die SCSI Befehle über einen I/O-Control-Systemaufruf des Gerätetreibers aufgerufen werden. System according to any one of claims 1, 2 or 3, wherein the SCSI commands through an I / O control system view of the device driver to be called.

6. 6 System gemäß einem der Ansprüche 1 bis 5, bei dem im Endgerät mindestens zwei Kanäle vorhanden sind, wobei einer der Kanäle für die kontinuierliche Übertragung von Daten in Echtzeit vorgesehen ist. System according to any one of claims 1 to 5, wherein the at least two channels are provided in the terminal, one of said channels for the continuous transmission of data in real time is provided.

7. 7 System gemäß Anspruch 7, bei dem ein Kanal mittels der zur Echtzeitübertragung genutzten SCSI-Befehle ausgewählt wird. System according to claim 7, wherein a channel is selected by means of SCSI commands used for real-time transmission.

8. 8 Verfahren zur kontinuierlichen Übertragung von Daten in Echtzeit zwischen einem Endgerät und einem über einen USB-Bus mit dem Endgerät verbundenen Computer, wobei der Computer einen USB-Gerätetreiber aufweist, welcher entsprechend dem USB-Mass-Storage-Class-Standard arbeitet; das Verfahren um- fasst folgende Schritte: Process for the continuous transmission of data in real time between a terminal and a computer connected via a USB bus to the terminal computer, the computer having a USB device driver, which according to the USB Mass Storage Class standard works and the procedure to - comprises the following steps:

Aufruf von SCSI-Befehlen unter Verwendung eines durch den Gerätetreiber bereitgestellten I/O-Ctri-Systemaufrufs; Call of SCSI commands using a provided by the device driver I / O system call CTRI;

Übertragen der Echtzeitdaten oder Befehle mittels einem bekannten Mass-Storage-Treiber unter Ausnutzung von SCSI-Befehlen, die durch den Gerä- tetreiber zur Verfügung gestellt werden und die für die Übertragung von Ordnern und Dateien nicht benötigt werden. Transmit real-time data or commands via a known mass storage drivers taking advantage of SCSI commands that are provided by the device driver available and which are not required for the transfer of folders and files.

9. 9 Verfahren gemäß Anspruch 8, das weiter umfasst: The method of claim 8, further comprising:

Auswahl eines Kanals im Endgerät mittels eines SCSI-Befehls. Selecting a channel in the terminal by means of a SCSI command.

10. 10th Verfahren gemäß Anspruch 8 oder 9, bei dem der kontinuierliche Datenaustausch in beide Richtungen unter Verwendung von durch den Gerätetreiber zur Verfügung gestellten SCSI-Befehlen, insbesondere den SCSI-Befehlen„3D WRI- TE BUFFER" bzw.„3C READ BUFFER", erfolgt. A method according to claim 8 or 9, wherein the continuous data exchange in both directions, using provided by the device drivers SCSI commands, in particular SCSI commands "3D WRI TE Buffer" and "3C READ BUFFER" occurs.

1 1 . 1 1st Endgerät mit USB-Schnittstelle, welches dazu ausgebildet ist, mit einem Computer über einen USB-Bus verbunden zu werden und an diesen kontinuierlich Da- ten gemäß einem Verfahren nach Anspruch 8 bis 10 zu übertragen und/oder Steuerdaten von diesem zu empfangen. Device with USB interface, which is adapted to be connected to a computer via a USB bus and, since this continuously-th transfer according to a method according to claim 8 to 10 and / or to receive control data therefrom.

12. 12th Endgerät mit USB-Schnittstelle gemäß Anspruch 1 1 , das mindestens zwei Ka- näle aufweist, von denen einer für die kontinuierliche Übertragung der Daten in Terminal with USB interface according to claim 1 1 comprising at least two Ka channels, one of which for the continuous transmission of the data in

Echtzeit vorgesehen ist. Real time is provided.

13. 13th Endgerät mit USB-Schnittstelle gemäß Anspruch 1 1 , das mindestens zwei Kanäle aufweist, von denen einer für die Übertragung von Dateien und Ordnern und mindestens einer für die kontinuierliche Übertragung der Daten in Echtzeit vorgesehen ist. Terminal with USB interface of claim 1 1 having at least two channels, one of which is provided for the transfer of files and folders and at least one of the continuous transmission of the data in real time.

14. 14th Endgerät mit USB-Schnittstelle gemäß Anspruch 1 1 , 12 oder 13, bei dem die Kanäle im USB-Stack gebündelt werden, sodass die gesendeten Daten aufgrund der Kanalnummer unterschieden werden können. Terminal with USB interface according to claim 1 1, 12 or 13, wherein the channels are bundled in the USB stack, so that the transmitted data can be distinguished based on the channel number.

Description  translated from German  (OCR text may contain errors)

Datenkommunikation über USB-Mass-Storage-Interface Data communication via USB Mass Storage interface

Die Erfindung bezieht sich auf eine Art der Datenkommunikation über USB (Universal Serial Bus), insbesondere auf eine kontinuierliche Datenübertragung, ins- besondere in Echtzeit, von einem Endgerät, beispielsweise einem Messgerät, zu einem Computer unter Verwendung eines Protokolls, das der USB-Mass-Storage- Class- (USB-MSC-) Spezifikation entspricht. The invention relates to a type of data communication through USB (Universal Serial Bus), particularly to a continuous transmission, in particular in real time, from a terminal, for example a measuring device, to a computer, using a protocol of the USB Mass Storage class (USB MSC) specification.

Um Daten von einem Endgerät an einen Computer zu übertragen, bzw. Steuerbe- fehle vom Computer an das Endgerät, gibt es verschiedenste Möglichkeiten. To transfer data from one device to a computer, or control commands from the computer to the terminal, there are a variety of ways. Im folgenden wird als Beispiel die Datenkommunikation zwischen einem Messgerät und einem Computer verwendet, wobei Messdaten vom Messgerät zum Computer und Steuerdaten vom Computer zum Messgerät gesendet werden. In the following, as an example, data communication between a meter and a computer, said data are sent from the meter to the computer and control data from the computer to the measuring device. Es ist eine gängige, und häufig verwendete Möglichkeit, das Messgerät mit Hilfe des Universal-Serial-Bus (USB) an einen Personal-Computer (PC) anzuschließen. It is a common and frequently used option, the meter using the Universal Serial Bus (USB) to a personal computer (PC) to connect. Damit nicht für jedes Gerät ein eigener Treiber benötigt wird, definiert der USB- Standard verschiedene Geräteklassen, die sich durch generische Treiber ansprechen, dh steuern lassen. So not a separate driver is needed for each device, the USB standard defines different classes of devices that respond by generic drivers can control that. Derartige Treiber sind auf gängigen Betriebssystemen bereits installiert. Such drivers are already installed on standard operating systems. Ein Beispiel hierfür ist die USB-Mass-Storage-Class (siehe zB "Universal Serial Bus Mass Storage Class Specification Overview", Rev. 1 .4, Feb. 19, 2010, online verfügbar unter: www.usb.org/developers/devclass_docs), die das Verhalten von über USB mit dem PC verbundenen Massenspeichergeräten (zB USB-Sticks, externe Festplatten, Digitalkameras, etc.) am USB-Bus und de- ren Kommunikation mit einem PC standardisiert. An example of this is the USB Mass Storage Class (see, eg, "Universal Serial Bus Mass Storage Class Specification Overview", Rev. 1 .4, Feb 19, 2010, available online at: www.usb.org/developers/ devclass_docs), the behavior of connected to the PC via USB mass storage devices (eg USB sticks, external hard disks, digital cameras, etc.) on the USB bus and de-ing standardized communication with a PC. Für die Kommunikation mit USB- Geräten, die dieser USB-Mass-Storage-Class entsprechen, wird auf dem PC kein spezieller Treiber des Herstellers mehr benötigt, da der Standard-Treiber (Mass- Storage-Treiber) verwendet werden kann. For communication with USB devices that comply with this USB mass storage class, no special drivers from the manufacturer on the PC is more needed as the default driver (mass storage driver) can be used. Statische Messdaten, die auf der Seite des Messgeräts üblicherweise in einem Dateisystem (dh in Ordnern und Dateien) gespeichert sind, können somit mit dem vorhandenen Mass-Storage-Treiber ohne vorherige Treiberinstallation auf den PC kopiert werden, in einer Weise wie zB auch Bilder von einer Digitalkame- ra auf einen PC geladen werden. Static measurement data (ie, folders and files) on the side of the instrument usually in a file system, thus can be copied with the existing mass storage drivers without driver installation on your PC, in a manner such as also images of a-ra Digitalkame be downloaded to a PC. Häufig ist es jedoch wünschenswert oder notwendig, zusätzlich zu den in Dateien gespeicherten, statischen Messdaten auch kontinuierlich vom Messgerät erzeugte Daten und/oder Steuerbefehle (zB Messung-Start/Stopp-Kommandos) zu übertragen. However, often it is desirable or necessary to transfer in addition to the files stored in static measurement data continuously generated by the meter data and / or control commands (eg Messung-Start/Stopp-Kommandos). Dies ist insbesondere dann der Fall, wenn die Messdaten in Echtzeit ("on-line") auf dem Bildschirm des PCs dargestellt werden sollen, oder wenn auf die vom PC empfangenen Messdaten sofort reagiert werden soll (zB in einem Regelkreis). This is particularly the case when the measurement data in real time ("on-line") to be displayed on the PC screen or to if to respond to the measurement data received from the PC immediately (for example, in a loop). Zu diesem Zweck wird ein speziell für das jeweilige Endgerät entwickelter Treiber benötigt, der auf dem PC installiert sein muss. For this purpose, a specially developed for the specific device driver is required, which must be installed on the PC. Zum Einsatz kommen hier beispielsweise so genannte CDC-Treiber (Communication-Device-Class-Treiber) oder, zum Transport der Daten nach dem USB-Mass-Storage-Class Bulk-Only-Transport-Protokoll, so genannte Bulk- Treiber. Be used here, for example, so-called CDC driver (Communication Device Class driver) or to transport the data to the USB Mass Storage Class Bulk-Only Transport protocol, called bulk driver. Ein solcher Treiber muss entsprechend entwickelt und bereitgestellt werden, wobei teilweise sogar die Entwicklung mehrerer Treiberversionen nötig ist für verschiedene Arten und Derivate gängiger Betriebssysteme. Such a driver must be developed accordingly and prepared, and sometimes even the development of several driver versions needed for different types of derivatives and popular operating systems. Für den Anwender ist die Installation neuer Treiber aufwendig und nimmt Zeit in Anspruch. Installing new drivers is expensive for the user and takes time.

Aufgabe der Erfindung ist es, neben statischen Daten in Form von Dateien auch Steuerbefehle und weitere Daten "on-line" über denselben, auf dem PC standardmäßig vorhandenen, USB-Mass-Storage-Class-Treiber zu transportieren, so dass die zusätzliche Installation von weiteren Treibern nicht mehr nötig ist. The object of the invention is to transport not only static data in the form of files and commands and other data "on-line" about the same, on the PC, available as standard, USB Mass Storage Class driver, so that the additional installation of other drivers is no longer necessary.

Diese Aufgabe wird durch ein System gemäß Anspruch 1 , durch ein Verfahren gemäß Anspruch 7, und ein Endgerät gemäß Anspruch 8 gelöst. This object is achieved by a system according to claim 1, by a method according to claim 7, and a terminal according to claim 8. Beispielhafte Ausführungsformen und Weiterbildungen der Erfindung sind Gegenstand der ab- hängigen Ansprüche. Exemplary embodiments and further developments of the invention are the subject matter of the dependent claims.

Es wird ein System zur laufenden Übertragung von Daten zwischen einem Endgerät und einem Computer beschrieben. It is described a system for the continuous transmission of data between a terminal and a computer. Das System umfasst folgendes: einen USB- Bus; ein Endgerät, das im Betrieb kontinuierlich Daten erzeugt und diese kontinu- ierlich entsprechend dem USB-Mass-Storage-Class-Standard auf einem USB-Bus zur Verfügung stellt; einen mit dem USB-Bus verbundenen Computer mit einem USB-Gerätetreiber, welcher entsprechend dem USB-Mass-Storage-Class- Standard arbeitet, und einem Anwenderprogramm, welches dazu ausgebildet ist, die vom Messgerät kontinuierlich erzeugten Daten mit Hilfe des Gerätetreibers vom USB-Bus zu empfangen. The system comprises: a USB bus, a device that continuously generates data in operation and this is continuously according to the USB Mass Storage Class standard to a USB bus is available, one with the USB bus computer connected with a USB device driver, which operates according to the USB Mass Storage Class standard, and an application program, which is designed to receive the data continuously generated instrument with the help of the device driver from the USB bus.

Weiter wird ein Verfahren zur kontinuierlichen Übertragung von Daten in Echtzeit zwischen einem Endgerät und einem über einen USB-Bus mit dem Endgerät verbundenen Computer beschrieben, wobei der Computer einen USB-Gerätetreiber aufweist, welcher entsprechend dem USB-Mass-Storage-Class-Standard arbeitet. Next, a method for the continuous transmission of data in real time between a terminal and a computer connected via a USB bus to the terminal computer is described, wherein the computer has a USB device driver, which accordingly operates the USB Mass Storage Class standard . Das Verfahren umfasst folgende Schritte: Aufruf von SCSI-Befehlen unter Verwendung eines durch den Gerätetreiber bereitgestellten I/O-Ctri-Systemaufrufs; Übertragen der Echtzeitdaten oder Befehle über den USB-Gerätetreiber unter Ausnutzung von SCSI-Befehlen, die durch den Gerätetreiber zur Verfügung gestellt werden und die für die Übertragung von Ordnern und Dateien nicht benötigt werden. The method comprises the following steps: Call of SCSI commands using a provided by the device driver I / O CTRI system call, transferring real-time data or commands via the USB device drivers taking advantage of SCSI commands that are provided by the device drivers be and are not required for the transfer of folders and files. Es wird weiter ein Endgerät mit USB-Schnittstelle beschrieben, welches dazu ausgebildet ist, mit einem Computer über einen USB-Bus verbunden zu werden und an diesen kontinuierlich Daten gemäß dem oben erwähnten Verfahren zu übertragen und/oder Steuerdaten von diesem zu empfangen. It is further a device with a USB interface described which is adapted to be connected to a computer via a USB bus and for transmitting these data continuously according to the aforementioned method and / or to receive control data therefrom. Bisher zusätzlich benötigte CDC- oder Bulk-Treiber zur Übertragung der Echtzeitdaten werden mit einer Lösung gemäß der oben genannten Beispiele der Erfindung nicht mehr benötigt. Additional formerly required CDC or bulk driver for transmission of real time data is no longer needed with a solution according to the above embodiments of the invention. USB-Geräte werden laut USB-Standard verschiedenen Klassen zugeordnet. USB devices are assigned to different classes according to the USB standard. Zur selben Klasse zugehörige Geräte verwenden denselben Gerätereiber. Belonging to the same class devices use the same device driver. Das Messgerät wird erfindungsgemäß der USB-Mass-Storage- Device-Class zugeordnet, ebenfalls bekannt als USB MSC oder UMS. The measuring device according to the invention, the USB Mass Storage Device Class assigned, also known as USB MSC or UMS. Das Mass- Sto rage- Protokoll emuliert dabei ein nach dem SCSI-Standard (SCSI = Small Computer System Interface) arbeitendes Massenspeichergerät. The Mass Sto rage-emulates a protocol to the default SCSI (SCSI Small Computer System Interface) working mass storage device. Die notwendigen PC-Treiber für die gängigsten Betriebssysteme Windows, MAC OS, Linux und BSD sind standardmäßig Bestandteil der jeweiligen Betriebssysteme. The necessary PC drivers for the most popular operating systems Windows, MAC OS, Linux and BSD are a standard part of the respective operating systems.

Wie sich Massenspeichergeräte auf dem USB-Bus verhalten wird in verschiedenen, von der USB-Mass-Storage-Class-Working-Group (CWG) unterstützten, USB-Mass-Storage-Class Spezifikationen beschrieben. How does mass storage devices will behave on the USB bus supported in various of the USB Mass Storage Class Working Group (CWG), USB Mass Storage Class specifications described. Der Titel einer dieser Spezifikationen lautet "USB-Mass-Storage-Class, Control/Bulk/Interrupt Transport" (Rev. 1 .1 verfügbar unter: The title of one of these specifications is "USB Mass Storage Class Control / Bulk / Interrupt transport" (Rev. 1 .1 available at:

www.usb.org/developers/devclass_docs/usb_msc_cbi_1 .1 .pdf). www.usb.org/developers/devclass_docs/usb_msc_cbi_1 .1. pdf). Für die im folgenden beschriebene Lösung werden die Daten vorzugsweise gemäß dieser Spezifi- kation auf dem USB-Bus zur Verfügung gestellt. For the solution described below, the data are preferably made in accordance with this specifica-tion on the USB bus.

Die folgenden Abbildungen und die weitere Beschreibung sollen helfen, die Erfindung besser zu verstehen. The following pictures and further description will help to better understand the invention. Nähere Details, Varianten und Weiterentwicklungen des Erfindungsgedankens werden an Hand der Abbildungen erläutert. For more details, variations and developments of the inventive concept can be explained with reference to the figures. Die Ele- mente in den Figuren sind nicht unbedingt als Einschränkung zu verstehen, vielmehr wird Wert darauf gelegt, das Prinzip der Erfindung darzustellen. The elements in the figures are not necessarily to be construed as limiting, but rather emphasis is placed upon illustrating the principles of the invention. In den Abbildungen zeigen: Show in pictures:

Figur 1 beispielhaft das allgemeine Datenübertragungsprinzip von einem Messgerät zu einem Computer; Figure 1 showing the general principle of data transmission from a meter to a computer;

Figur 2 beispielhaft die Datenübertragung von einem Messgerät zu einem Computer gemäß einem Beispiel der Erfindung; und Figur 3 das Beispiel aus Figur 2 mit mehr Details. 2 shows an example of the transfer of data from a measuring instrument to a computer according to an embodiment of the invention, and FIG 3 shows the embodiment of FIG 2 in more detail.

Das im Folgenden beschriebene Beispiel betrifft die kontinuierliche Übertragung von Daten in Echtzeit zwischen einem Messgerät und einem Computer. The example described below relates to the continuous transmission of data in real time between a meter and a computer. Kontinuierliche Übertragung bedeutet in diesem Zusammenhang das laufende, regelmä- ßige Übertragen von Daten in vorgegebenen (nicht notwendigerweise äquidistan- ten) Abständen, so dass die Daten nicht ohne weiteres in abgeschlossene Dateien zusammenfassbar sind, bevor sie übertragen werden. Continuous transmission means in this regard, the ongoing, regularly-scheduled transmission of data at predetermined (not necessarily equidistant) intervals so that the data is not readily possible to accumulate in an enclosed files before they are transferred.

Das erfindungsgemäße Verfahren zur kontinuierlichen Übertragung von Messda- ten in Echtzeit zwischen einem Messgerät und einem Computer beinhaltet mehrere Schritte. The process for the continuous transmission of measurement data in real time between a meter and a computer involves several steps. Zunächst werden über einen I/O-Control-Systemaufruf (ioctl System call), der durch den Gerätetreiber implementiert ist, SCSI-Befehle aufgerufen. First, via an I / O Control system call (ioctl system call), which is implemented by the device driver, called SCSI commands. SCSI-Befehle entstammen ursprünglich einem Protokoll für Geräte, welche das parallele Small-Computer-System-Interface (SCSI) verwendeten. SCSI commands come from originally a protocol for devices that use the parallel Small Computer System Interface (SCSI). Der standardisierte SCSI-Befehlssatz stellt ein System zur Verfügung, um Informationen über ein Speichergerät zu erhalten und um Datenblocks in das Speichermedium zu schreiben und Daten auszulesen. The standard SCSI command set provides a system available to obtain information on a storage device and data blocks to write to the storage medium and read data.

Speichermedien die andere Hardware-Schnittstellen nutzen, einschließlich USB, nutzen ebenfalls den SCSI-Befehlssatz (oder zumindest Teile davon), um die oben genannten Funktionen auszuführen. Storage media using other hardware interfaces including USB, also use the SCSI command set (or at least parts of it) to perform the above functions. Die SCSI-Befehle decken eine große Anzahl an Gerätetypen und Funktionen ab. The SCSI commands cover a wide range of device types and functions. Dabei müssen die meisten Geräte nur eine geringe Anzahl an SCSI-Befehlen unterstützen, um ein Lesen von bzw. ein Schreiben auf Massenspeichern auszuführen. The Most devices must only support a small number of SCSI commands to perform a read from or a write to mass storage. Unterschiedliche Spezifikationen für die SCSI-Befehle, die von Massenspeichergeräten verwendet werden, finden sich in verschiedensten Quellen. Different specifications for the SCSI commands that are used mass storage devices can be found in various sources. Das INCITS Technical Committee T10 definiert unter anderem folgende Spezifikationen: The INCITS Technical Committee T10 defines among others the following specifications:

SCSI Primary Commands (SPC): Definiert Befehle, die auf allen SCSI Geräten Anwendung finden. SCSI Primary Commands (SPC): Defines commands that apply to all SCSI devices application. Die aktuelle Version ist SPC-3. The current version is SPC third

SCSI Block Commands (SBC): Definiert Befehle, die von Festplatten, Massen- speichergeräten und anderen Geräten mit direktem Zugriff genutzt werden (Block- Command-Spezifikation). SCSI Block Commands (SBC): Defines commands that are used by hard disks, mass storage devices, and other devices with direct access (Block Command specification). Die aktuelle Version ist SBC-3. The current version is SBC-third

Jedes Gerät gibt auf einen SCSI INQUIRY-Befehl einen Befehlssatz aus, welcher die zur Kommunikation zwingend erforderlichen Befehle definiert. Each device is a SCSI INQUIRY command from a command set, which defines the mandatory required to communicate commands. Ein Gerät, wel- ches auf einen INQUIRY-Befehl PERIPHERAL DEVICE TYPE = 00h (direct ac- cess device) und VERSION = 05h (SPC-3) liefert, sollte alle Befehle die in der SPC-3 Spezifikation, sowie in einer Block-Command-Spezifikation wie der SBC-2 oder SBC-3 als zwingend erforderlich angegeben sind implementiert haben. A device that wel-Che on a INQUIRY command PERIPHERAL DEVICE TYPE = 00h (direct ac-cess device) and VERSION = 05h (SPC-3) provides, all commands should be in the SPC-3 specification, as well as a block- Command specification as the SBC-2 or SBC-3 are indicated as compulsory have been implemented. Die für den Betrieb von USB-Massenspeichergeräten (USB Mass Storage Devices) erforderlichen Kommandos sind (siehe auch online: www.t10.org/lists/op- num.htm): INQUIRY, The commands for the operation of USB mass storage devices (USB Mass Storage Devices) are required (see also online: www.t10.org/lists/op- num.htm): INQUIRY,

READ CAPACITY(10), READ CAPACITY (10)

READ(10), READ (10)

REQUEST SENSE, REQUEST SENSE

TEST UNIT READ, TEST UNIT READ,

WRITE(10) (für beschreibbare Geräte). WRITE (10) (for writable devices).

Daneben gibt es noch zusätzliche, optionale Kommandos. There are also additional optional commands. Diese werden für den USB-Mass-Storage-Betrieb nicht benötigt, sind aber auf dem Computer über einen entsprechenden I/O-Control-Systemaufruf (ioctl System call) ebenfalls aufrufbar. These are not needed for the USB Mass Storage mode, but are on the computer a corresponding I / O Control system call (ioctl system call) is also called.

Zu diesen optionalen Befehlen zählen beispielsweise: WRITE BUFFER (SCSI- Operation-Code 3B), und READ BUFFER (SCSI-Operation-Code 3C). These optional commands include, for example: WRITE BUFFER (SCSI operation code 3B), and READ BUFFER (SCSI operation code 3C). Sowohl die statischen Daten, als auch die Echtzeitdaten werden bei der erfindungsgemäßen Lösung per USB-Mass-Storage übertragen. Both the static data and the real time data is transmitted in the inventive solution via USB mass storage. Es wird jedoch unterschieden, ob ein USB-Mass-Storage-Paket oder ein spezielles (zB WRITE BUFFER) Paket übertragen wird. However, it is distinguished whether a USB Mass Storage package or a special (eg WRITE BUFFER) packet is transmitted. Diese Unterscheidung findet im USB-Stack statt. This differentiation takes place in the USB stack. Der USB-Stack ist diejenige Komponente, durch die die Kommunikation zwischen USB-Geräten und den entsprechenden Treibern ermöglicht wird. The USB stack is the component through which the communication between USB devices and the appropriate drivers is possible. Das Kernstück des USB-Stacks ist dabei der USB-Device-Manager, der als Portal verwendet werden kann und sowohl die angeschlossenen USB-Geräte als auch die USB- Treiber verwaltet. The core of the USB stack is the USB Device Manager, which can be used as a portal and manages both the connected USB devices and the USB driver. Bei ihm kann sich ein Treiber mit der zuständigen Produkt- und Hersteller-ID registrieren. With him, a driver with the appropriate product and vendor ID can register. Beim Anstecken eines neuen Geräts wird dieses enumeriert, geprüft ob genug Strom zur Verfügung steht, die Deskriptoren ausgelesen und schließlich der Treiber geladen, der zu diesem Gerät registriert wurde. When connecting a new device that is enumerated to verify that enough power is available, read the descriptors and finally loaded the driver that was registered for this device. Beim Laden bekommt der Treiber die Informationen über das enumerierte Gerät, die er braucht um es anzusprechen. When loading the driver gets the information about the enumerated device, it needs to speak to it. In einem WRITE BUFFER Kommando wird im Datenteil dieses Telegramms eine zusätzliche Kanalnummer eingefügt. In a WRITE BUFFER command an additional channel number is inserted in the data section of this telegram. Anhand dieser Nummer kann im USB-Stack unterschieden werden, um welche Art von Paket es sich handelt. Using this number can be distinguished in the USB stack to the type of package you have. Die Daten kommen sozusagen aus verschiedenen Verzweigungen, erfindungsgemäß Kanäle genannt, und werden für die Übertragung vom USB-Stack gebündelt. The data come from different branches, so to speak, inventively called channels, and are bundled together for transmission from the USB stack. Die Verzweigungen müssen im USB-Stack entsprechend implementiert sein. The branches must be implemented according to the USB stack. Das Multi- plexing der Kanäle kann dann im Applikationscode einer speziellen Anwendungssoftware erfolgen. The Multiplexing of channels can then be made in the application code of a specific application software.

Der Zugriff auf die Daten geschieht auf Computerseite über eine Dateisystem- Schnittstelle. Access to the data is done on computer page through a file system interface. Diese Programmierschnittstelle (auch als API, application program- ming interface, bezeichnet) wird zB über die normalen Dateisystemaufrufe fopen, fclose, fread, fwrite angesprochen. This programming interface (also called API application program-ming interface called) as is fopen beyond the normal file system calls, fclose, fread, fwrite addressed. Auf dem PC ist zum Empfangen der kontinu- ierlich vom Messgerät erzeugten Daten (Echtzeitdaten) eine Anwendungssoftware (application Software, kurz: app) notwendig. On the PC to receive the data continuously generated by the instrument (real time data) application software (application software, in short, app) are required. Diese Anwendungssoftware führt die Dateisystem-Aufrufe und andere Systemaufrufe (File Access and Directory System Calls) aus, um den Datenaustausch mit dem Messgerät durchzuführen und zu steuern. This application software executes the file system calls and other system calls (File Access and Directory System Calls) to perform the data exchange with the meter and control.

Unter Verwendung der als erforderlich vorgegebenen Befehle können statische Daten in Form von Dateien und Verzeichnissen zwischen dem PC und dem Messgerät ausgetauscht werden. Using the predefined commands as required static data in the form of files and directories can be exchanged between the PC and the instrument. Werden zusätzlich - wie oben beschrieben - optionale, für den Dateitransfer nicht benötigte SCSI-Befehle verwendet, können wie beschrieben zusätzlich die Echtzeitdaten und Steuerbefehle durch das SCSI- Protokoll "getunnelt" werden, wodurch "on-line" ein kontinuierlicher Austausch von Daten zwischen Messgerät und PC ermöglicht wird. In addition - as described above - using optional, not required for file transfer SCSI commands, as described can be in addition to real-time data and control commands through the SCSI protocol "tunneled", which "on-line" a continuous exchange of information between the meter and PC is possible.

Figur 1 zeigt das Prinzip der Datenübertragung zwischen einem Computer und einem herkömmlichen USB-Massenspeichergerät, beispielsweise einem USB- Stick. Figure 1 shows the principle of data transmission between a computer and a standard USB mass storage device, such as a USB stick. Die statischen Messdaten werden hierbei üblicherweise in einem Dateisystem (dh in Ordnern und Dateien eines FAT32-Dateisystems) gespeichert, im Datenspeicher abgelegt und können mit Hilfe des im Betriebssystem standardmäßig integrierten Mass-Storage-Treibers für USB-Massenspeichergeräte (USB-Sticks, USB-Festplatten, etc.) an den Computer übertragen werden. The static measurements are here usually stored in a file system (ie folders and files in a FAT32 file system), stored in the memory and can use the standard built-in operating system Mass Storage driver for USB mass storage devices (flash drives, USB hard drives, etc.) can be transmitted to the computer. Eine separate Treiberinstallation durch den Nutzer ist hierbei in den meisten Fällen nicht notwendig, da generische USB-Mass-Storage-Treiber bereits in fast allen gängigen Betriebssystemen enthalten sind. A separate driver installation by the user in most cases this is not necessary as generic USB mass storage drivers are included in almost all major operating systems. Da eine kontinuierliche Übertragung von Daten (sozusagen in Echtzeit) über USB mit dem verfügbaren standardisierten USB-Mass-Storage-Class-Gerätetreiber nicht ohne weiteres möglich ist, müssen dafür eigene Treiber zur Verfügung ge- stellt und auf dem Computer installiert werden. Since a continuous transmission of data (in real-time so to speak) is not readily possible via USB with the available standard USB mass storage class device driver for it own drivers have to be installed and made available to provide on the computer. Üblicherweise kommen hier CDC- (Communication Device Class) oder Bulk-Treiber zum Einsatz. Usually come here CDC (Communication Device Class) or bulk driver to use. Die Treiber müssen hierfür extra entwickelt und mit dem Messgerät an den Kunden geliefert werden, wobei hier auch mehrere Versionen nötig sein können für verschiedene Betriebssystem-Derivate (zB Windows XP, Windows Vista, Windows 7). The drivers need to be specially developed for this purpose and supplied with the device to the customer, in which case several versions may be needed for different operating system derivatives (eg, Windows XP, Windows Vista, Windows 7).

Figur 2 zeigt an einem Beispiel den Unterschied der erfindungsgemäßen Datenübertragung gegenüber der in Figur 1 beschriebenen Art und Weise. Figure 2 shows an example of the difference of data transmission according to the invention with respect to the manner described in Figure 1. Die Möglichkeit der Übertragung von statischen Daten (Dateien und Ordner) ist hierbei unverändert gegeben. The possibility of transmission of static data (files and folders) is given here unchanged. Diese werden weiterhin in Ordnern und Dateien zusammenge- fasst, in einem Datensystem (in Fig. 1 mit "Filesystem" bezeichnet) gespeichert und anschließend mittels der gängigen USB-Mass-Storage-Class-Gerätetreiber an den Computer übertragen. This will continue into folders and files summarized in a data system (in Figure 1 with "File system") stored and then transmitted to the computer via the standard USB mass storage class device driver. Im Gegensatz zu dem Beispiel aus Fig. 1 werden jedoch auch die Echtzeitdaten mittels der identischen USB-Mass-Storage-Treiber an den Computer übertragen. In contrast to the example of Figure 1, however, the real-time data by means of the identical USB mass storage driver is transmitted to the computer. Eine Installation zusätzlicher CDC- oder Bulk-treiber ist somit nicht mehr notwendig. An installation of additional CDC or bulk driver is no longer necessary. Zur kontinuierlichen (Echtzeit-) Datenübertragung (in den Fig. 1 und 2 mit "Spezifische Kommunikation" bezeichnet) werden - wie eingangs bereits erläutert - von dem Gerätetreiber bereitgestellte SCSI-Befehle verwendet, die für den Austausch von Dateien und Ordnern nicht benötigt werden, jedoch im Standard-SCSI-Befehlssatz enthalten sind. For the continuous (real-time) data transfer (in Figures 1 and 2, with "specific communication") - as already explained - used provided by the device driver SCSI commands that are not needed for the exchange of files and folders, are, however, included in the standard SCSI command set.

In Figur 3 wird das erfindungsgemäße Verfahren zur Übertragung der Echtzeitdaten über den auf dem Betriebssystem vorhandenen USB-Mass-Storage-Treiber detaillierter dargestellt. In Figure 3, the inventive method for transmitting real-time data over the existing operating system on the USB mass storage driver is shown in more detail. Auf Messgerätseite sind zwei Verzweigungen (ChanneM , Channel_2) angedeutet, wobei über jeweils eine der Verzweigungen die stati- sehen (Channel_2) und die spezifischen (Echtzeit-) Daten, (ChanneM ) übertragen werden. On page two branches meter (ChanneM, Channel_2) are indicated, with about one of the branches of the static view (Channel_2) and specific (real-time) data (ChanneM) are transmitted. Im USB-Stack, sowie im Messgerät müssen hierfür entsprechende Kanäle implementiert werden. This appropriate channels must be implemented in the USB stack, and in the meter. Über den I/O-Control-Systemaufruf des PCs werden SCSI-Befehle gesendet. About the I / O Control system call of the PC SCSI commands are sent. In den SCSI-Befehlen, die in der SBC-2 und der SBC-3 Block Commands Spezifikation als optional zur USB Kommunikation angegeben werden, sind zusätzliche Kanalnummern enthalten. In the SCSI commands that are specified in SBC-2 and SBC-3 Block Commands specification as an option for USB communication, additional channel numbers are included. Anhand der Kanalnummern kann dann unterschieden werden, ob statische Daten oder spezifische Daten übertragen werden. Based on the channel numbers can be then distinguished whether static data or specific data to be transmitted. Als SCSI-Befehle bieten sich hierfür 3B WRITE As SCSI commands provide for this purpose 3B WRITE

BUFFER und 3C READ BUFFER an. BUFFER and READ BUFFER to 3C.

Der Zugriff auf die Daten geschieht auf Computerseite über eine Filesystem- Schnittstelle (dh eine entsprechende API des Betriebssystems). Access to the data is done on computer side via a file system interface (ie, an appropriate API of the operating system). Diese Programmierschnittstelle wird zB über die normalen Dateisystemaufrufe fopen, fclose, fread, fwrite angesprochen. This programming interface is as fopen beyond the normal file system calls, fclose, fread, fwrite addressed.

Der USB-Stack sorgt für die Kommunikation zwischen dem Messgerät und dem verwendeten Treiber und verarbeitet die gesendeten Pakete auf Low-Level Ebene. The USB stack provides the communication between the meter and the drivers used and processes the packets transmitted on low-level plane. Die erfindungsgemäß implementierten Kanäle werden im USB-Stack gebündelt. The present invention implemented channels are bundled in the USB stack. Anhand der zusätzlich eingeführten Kanalnummern kann der Kanal unterscheiden, um welche Art von Paket es sich handelt und wie ein gesendetes Paket weiterverarbeitet werden soll. On the basis of the additional import channel numbers can vary the channel, what type of packet it is, and as a transmitted packet should be processed.

Vorzugsweise liegen die Daten, welche als Echtzeitdaten gesendet werden sollen, lediglich in einem Arbeitsspeicher vor. Preferably, the data which are to be sent as a real-time data, are present only in a memory. Ein Datei basiertes Ablegen auf dem Datenspeicher würde hierbei in der Regel zu viel Zeit in Anspruch nehmen, um eine Echtzeitübertragung noch gewährleisten zu können. A file based on the data storage would drop this usually take too much time, to guarantee real-time transmission still can.

Patent Citations
Cited PatentFiling datePublication dateApplicantTitle
EP1199874A2 *Oct 10, 2001Apr 24, 2002Microsoft CorporationSystem and method for controlling mass storage class digital imaging devices
US7725628 *Apr 19, 2005May 25, 2010Lexar Media, Inc.Direct secondary device interface by a host
US7827258 *Mar 1, 2004Nov 2, 2010American Megatrends, Inc.Method, system, and apparatus for communicating with a computer management device
US20060190666 *Feb 23, 2006Aug 24, 2006Nec Electronics CorporationComputer system and control method of the same
US20070174534 *Jan 24, 2006Jul 26, 2007Standard Microsystems CorporationTransferring system information via universal serial bus (USB)
Non-Patent Citations
Reference
1UNIVERSAL SERIAL BUS MASS STORAGE CLASS SPECIFICATION OVERVIEW 19 Februar 2010,
Classifications
International ClassificationG06F13/38, G06F13/10
Cooperative ClassificationG06F13/385, G06F13/102
European ClassificationG06F13/38A2, G06F13/10D
Legal Events
DateCodeEventDescription
Jun 11, 2014122
Kind code of ref document: A1
Ref document number: 12721444
Country of ref document: EP
Dec 26, 2012121
Kind code of ref document: A1
Ref document number: 12721444
Country of ref document: EP