Error detection/correction and fault detection/recovery – Data processing system error or fault handling – Reliability and availability
Reexamination Certificate
2000-08-01
2003-10-28
Baderman, Scott (Department: 2184)
Error detection/correction and fault detection/recovery
Data processing system error or fault handling
Reliability and availability
C714S006130, C714S043000
Reexamination Certificate
active
06640312
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to data communications and data delivery over communication media, and, more particularly, to host computer-based data acquisition systems.
2. Description of the Relevant Art
Various types of communication mediums have been proposed for connecting external devices to computer systems. For example, two serial bus standards that have been proposed are USB (Universal Serial Bus) and IEEE 1394 (Firewire).
IEEE 1394 is an international standard, low-cost digital interface that integrates entertainment, communication, and computing electronics into consumer multimedia. Originated by Apple Computer as a desktop LAN and developed by the IEEE 1394 working group, IEEE 1394 is a hardware and software standard for transporting data at 100, 200 or 400 megabits per second (Mbps). Maximum packet sizes are 512, 1024, and 2048 bytes depending on the transfer speed. 1394 provides 64-bit addressing—The 16 MSb's (most significant bits) are used for determining source/destination bus
ode. As used herein, the terms “node” and “device” may be used interchangeably to denote a node on the 1394 bus.
According to the IEEE 1394 standard, there can be up to 1023 buses each with up to 63 nodes. The 48 LSb's (least significant bits) are used to access locations within a device's addressing space. 1394 provides for Direct Memory Access (DMA). DMA is the most powerful feature of the bus for the data acquisition purposes since it allows a device to transfer data from/into computer memory without microprocessor intervention.
IEEE 1394 also defines a digital interface—there is no need to convert digital data into analog and tolerate a loss of data integrity. 1394 is easy to use in that there is no need for terminators, explicit device IDs, or elaborate setup. Another benefit of 1394 is that it is “hot pluggable”, meaning users can add or remove 1394 devices with the bus active. 1394 has a scaleable architecture, allowing users to mix 100, 200, and 400 Mbps devices on a bus. 1394 also provides a flexible topology in that it supports daisy chaining and branching for true peer-to-peer communication between 1394 devices. In addition to asynchronous data transfer, 1394 provides isochronous data transfer, which guarantees bus bandwidth and may reduce costly buffer requirements.
Serial Bus Management provides overall configuration control of the serial bus in the form of optimizing arbitration timing, guarantee of adequate electrical power for all devices on the bus, assignment of which IEEE 1394 device is the cycle master, assignment of isochronous channel ID, and notification of errors. Bus management is built upon IEEE 1212 standard register architecture. It should be noted that 1394 error notification is limited to general error detection. When an error has occurred, it may not be known when or where the error occurred, and so the delivery status of transmitted data may also be unknown.
There are two types of IEEE 1394 data transfer: asynchronous and isochronous. Asynchronous transport is the traditional computer memory-mapped, load and store interface. Data requests are sent to a specific address and an acknowledgment is returned. In addition to an architecture that scales with silicon technology, IEEE 1394 features a unique isochronous data channel interface. Isochronous data channels provide guaranteed bus bandwidth for data transport at a pre-determined rate. This is especially important for time-critical multimedia data where just-in-time delivery eliminates the need for costly buffering.
Much like LANs and WANs, IEEE 1394 is defined by the high level application interfaces that use it, not by a single physical implementation. Therefore as new silicon technologies allow high higher speeds, longer distances, and alternate media, IEEE 1394 will scale to enable new applications.
The IEEE 1394 bus was primarily intended for computer multimedia peripherals such as audio and video devices. In general, error detection and correction is not necessary for multimedia data streams, and thus error correction is not included in the IEEE 1394 standard. However, the IEEE 1394 bus has other potential applications, such as communication and control with other types of devices. One potential application for the IEEE 1394 bus is remote data acquisition, test and measurement, and industrial automation. For example, the IEEE 1394 bus could be used to connect a remote data acquisition device, measurement device, or industrial automation device to a host computer.
Certain external buses, such as Universal Serial Bus (USB), provide error detection and correction protocols within their specifications and thus are suitable for various. types of devices, including devices which receive control data. However, the use of protocols such as 1394 for providing control data to a device may be problematic in that IEEE 1394 only provides an error detection protocol. This error detection protocol is insufficient for devices, such as data acquisition (DAQ) devices, since it does not determine where the error occurred and whether the requested data has been written to the device. In many processes, such as data acquisition processes, one cannot simply repeat a read or write transaction to the device because many registers are FIFOs (First In, First Out structures) or control registers, in which repeating the transaction will either cause a glitch or inaccurate data. Therefore improved systems and methods for enabling devices which receive control data to be used with communication mediums that do not support error correction. More particularly, improved systems and methods are desired for handling device retry requests on a communication medium that does not support error correction. Further, improved systems and methods are desired for enabling instruments, data acquisition devices, and industrial automation devices to be used with the IEEE 1394 bus.
SUMMARY OF THE INVENTION
The present invention comprises various embodiments of a system and method for transferring data over a communications medium. A host computer may be coupled to a device, such as an instrument, which may be further coupled to a sensor. The instrument may be a data acquisition (DAQ) device, which combined with the sensor, may be operable to collect data concerning pressure, temperature, chemical content, current, resistance, voltage, or any other detectable attribute. The host computer may be operable to control the instrument by sending requests to read from or write to the instrument's memory registers. The host computer may be further operable to obtain data from the instrument for storage and analysis on the host computer system. In one embodiment, the host computer may comprise a computer system, wherein the computer system is coupled to the instrument through a serial bus, such as an IEEE 1394 bus, as described in an IEEE 1394 protocol specification. In other embodiments the bus may implement other protocols such as, Ethernet, or any other serial communication protocol which does not inherently support error correction.
In one embodiment, the instrument may include a remote PCI instrument card which is coupled to a 1394/PCI bridge, such as a National Instruments FirePHLI™. The 1394/PCI bridge provides translation between the IEEE 1394 protocol and PCI, allowing the host system to send 1394 requests to and receive 1394 responses from the remote PCI device.
In yet another embodiment, two such instruments may be coupled together via the 1394 bus. One instrument may be configured as a host, or master unit, while the other instrument may be configured as a slave. Each instrument may be coupled to a sensor. In one embodiment, each instrument is configured with a processor card with memory on board to execute driver software.
According to one embodiment of the invention, the host computer system generates a request to the DAQ device. The request may include a first device request to read from or write to a memory address location of the device. The first device request may include
Madden David W.
Sescila Glen
Thomson Andrew
Vrancic Aljosa
Baderman Scott
Bonura Timothy M
Hood Jeffrey C.
Meyertons Hood Kivlin Kowert & Goetzel P.C.
National Instruments Corporation
LandOfFree
System and method for handling device retry requests on a... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with System and method for handling device retry requests on a..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System and method for handling device retry requests on a... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3159110