IP Library Granted Patent US 7,725,627
Granted Patent B2
US 7,725,627 · App. 11/560,071 · Granted May 25, 2010

Serial port that supports multiple protocols

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,725,627
App. No.
11/560,071
Granted
May 25, 2010
Kind
B2
Abstract

System and method for performing distributed input/output (I/O). A distributed I/O device (the device) coupled to a controller may read data from a serial port, may determine if the data are framed by time, and if so, may handle the data according to a time-based protocol. If the data are not framed by time, the device may determine if the data are framed by delimiters, and if so, may determine an appropriate delimiter-based protocol for the data from a plurality of delimiter-based protocols, and handle the data according to the appropriate delimiter-based protocol. This process may be repeated in an iterative manner to read a stream of data from the serial port. The device may include or be coupled to one or more I/O modules (e.g., for DAQ, motion control, etc.), which themselves may be coupled to a unit under test or other external device or phenomenon via additional devices.

Claims (81)

1. A method for performing distributed input/output (I/O), the method comprising:

using a computer to perform:

a) receiving data from a serial port coupled to a serial transmission medium;

b) automatically determining if the data are framed by time, wherein said automatically determining if the data are framed by time is performed without user involvement;

c) if the data are determined to be framed by time, handling the data according to a time-based protocol, wherein the time-based protocol is automatically selected from a plurality of time-based protocols without user input specifying the time-based protocol;

d) if the data are determined to not be framed by time:

automatically determining that the data are framed by delimiters wherein said automatically determining that the data are framed by delimiters is performed without user involvement;

automatically determining an appropriate delimiter-based protocol for the data from a plurality of delimiter-based protocols, wherein the delimiter-based protocol is automatically selected from the plurality of delimiter-based protocols without user input specifying the delimiter-based protocol; and

handling the data according to the appropriate delimiter-based protocol; and

e) repeating a)-d) in an iterative manner to read a stream of data from the serial port.

2. The method of claim 1 , wherein said receiving data comprises receiving the data at a current time of reception, and wherein said automatically determining if the data are framed by time comprises:

determining a duration between reception of immediately previous received data and the current time of reception; and

if the determined duration exceeds a specified value, performing an integrity check of the data in accordance with the time-based protocol.

3. The method of claim 1 , wherein said handling the data according to the time-based protocol comprises:

extracting a message from the data; and

parsing the message.

4. The method of claim 3 , wherein said handling the data according to the time-based protocol further comprises:

performing an integrity check of the data in accordance with the time-based protocol.

5. The method of claim 1 ,

wherein said automatically determining that the data are framed by delimiters comprises:

scanning the data for delimiters associated with any of the plurality of delimiter-based protocols; and

determining that delimiters are included in the data; and

wherein said automatically determining an appropriate delimiter-based protocol for the data from a plurality of delimiter-based protocols comprises:

determining the appropriate delimiter-based protocol for the data based on the determined delimiters;

the method further comprising:

performing an integrity check of the data in accordance with the determined appropriate delimiter-based protocol.

6. The method of claim 5 , wherein said handling the data according to the appropriate delimiter-based protocol comprises:

extracting a message from the delimited data; and

parsing the message.

7. The method of claim 1 , wherein the serial transmission medium comprises:

a synchronous serial transmission medium; or

an asynchronous serial transmission medium.

8. The method of claim 1 , wherein a)-e) are performed by one or more programs executing on a distributed I/O device.

9. The method of claim 8 , wherein the one or more programs comprise one or more of:

a text-based program; or

a graphical program, wherein the graphical program comprises a plurality of interconnected nodes that visually indicate functionality of the graphical program.

10. The method of claim 9 ,

wherein the graphical program comprises a graphical data flow program.

11. The method of claim 8 , wherein at least a portion of the one or more programs is executed on a processor comprised in the distributed I/O device.

12. The method of claim 8 , wherein at least a portion of the one or more programs is executed on a programmable hardware element comprised in the distributed I/O device.

13. The method of claim 8 , wherein the data are received from a controller coupled to the distributed I/O device via the serial transmission medium.

14. The method of claim 13 , wherein the controller comprises one or more of:

a desktop computer system; or

a dedicated controller.

15. The method of claim 13 , further comprising:

the distributed I/O device sending further data to the controller via the serial transmission medium.

16. The method of claim 8 , wherein the distributed I/O device is coupled to one or more I/O modules, wherein the one or more I/O modules comprise one or more of:

a data acquisition (DAQ) device;

a motion control device; or

a signal generation device.

17. The method of claim 1 , wherein the time-based protocol or the delimiter-based protocol is determined automatically without user input selecting the time-based protocol or the delimiter-based protocol.

18. A distributed data acquisition system, comprising:

distributed I/O device, comprising a serial port; and

a controller, coupled to the serial port of the distributed I/O device via a serial transmission medium;

wherein the distributed I/O device is operable to:

a) read data from the serial port;

b) automatically determine if the data are framed by time without user involvement;

c) if the data are determined to be framed by time, handle the data according to a time-based protocol, wherein the time-based protocol is automatically selected from a plurality of time-based protocols without user input specifying the time-based protocol;

d) if the data are determined to not be framed by time:

automatically determine that if the data are framed by delimiters time without user involvement;

automatically determine an appropriate delimiter-based protocol for the data from a plurality of delimiter-based protocols, wherein the delimiter-based protocol is automatically selected from the plurality of delimiter-based protocols without user input specifying the delimiter-based protocol; and

handle the data according to the appropriate delimiter-based protocol; and

e) repeat a)-d) in an iterative manner to read a stream of data from the serial port.

19. A computer accessible memory medium that stores program instructions executable by a processor to:

a) receive data from a serial port coupled to a serial transmission medium;

b) automatically determine if the data are framed by time without user involvement;

c) if the data are determined to be framed by time, handle the data according to a time-based protocol, wherein the time-based protocol is automatically selected from a plurality of time-based protocols without user input specifying the time-based protocol;

d) if the data are determined to not be framed by time:

automatically determine that the data are framed by delimiters without user involvement;

automatically determine an appropriate delimiter-based protocol for the data from a plurality of delimiter-based protocols, wherein the delimiter-based protocol is automatically selected from the plurality of delimiter-based protocols without user input specifying the delimiter-based protocol; and

handle the data according to the appropriate delimiter-based protocol; and

e) repeat a)-d) in an iterative manner to read a stream of data from the serial port.

20. A system, comprising:

means for a) receiving data from a serial port coupled to a serial transmission medium;

means for b) automatically determining if the data are framed by time without user involvement;

means for c) if the data are determined to be framed by time, handling the data according to a time-based protocol, wherein the time-based protocol is automatically selected from a plurality of time-based protocols without user input specifying the time-based protocol;

d) if the data are determined to not be framed by time:

means for automatically determining that the data are framed by delimiters without user involvement;

means for automatically determining an appropriate delimiter-based protocol for the data from a plurality of delimiter-based protocols, wherein the delimiter-based protocol is automatically selected from the plurality of delimiter-based protocols without user input specifying the delimiter-based protocol; and

means for handling the data according to the appropriate delimiter-based protocol; and

means for repeating a)-d) in an iterative manner to read a stream of data from the serial port.

Assignments (5)
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 057280/0028) Recorded Oct 13, 2023
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 065231/0466 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 052935/0001) Recorded Oct 13, 2023
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: NATIONAL INSTRUMENTS CORPORATION; PHASE MATRIX, INC.
Reel/Frame 065653/0463 →
SECURITY INTEREST Recorded Jun 18, 2021
From: NATIONAL INSTRUMENTS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 057280/0028 →
SECURITY INTEREST Recorded Jun 14, 2020
From: NATIONAL INSTRUMENTS CORPORATION; PHASE MATRIX, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 052935/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2006
From: CRAIN, CHARLES E., II; WIDJAJA, TONY
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 018522/0123 →