The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Apr. 18, 2000
Filed:
Nov. 12, 1997
Brent C Schwan, Austin, TX (US);
Kyle Evans, Austin, TX (US);
National Instruments Corporation, Austin, TX (US);
Abstract
A buffer object for performing intelligent buffering functions in a data acquisition (DAQ) system. The buffer object stores information regarding data to be transferred and includes one or more iterators for performing burst transfers. When a DAQ user application generates a call to perform data transfer operations in the DAQ system, the driver level software creates or instantiates a buffer object. The buffer object includes data format information specifying a format of the data being transferred, including the size of the data, the number of samples per scan, and number of scans of the data. The driver level software also creates a foreground iterator which is executable to transfer data between a client portion of system memory and a buffer portion of system memory. The driver level software also creates a background iterator which is executable to transfer data between a buffer portion of system memory and the on-board memory comprised on the DAQ device. The foreground iterator and the background iterator execute in response to the DAQ user application to perform data transfers to/from the DAQ device. The foreground and background iterators also use information in the buffer object to perform the data transfer. In the preferred embodiment, the foreground iterator executes in user mode of the CPU, and the background iterator executes in kernel mode of the CPU.