Serial Port that Supports Multiple Protocols

Information

  • Patent Application
  • 20070168590
  • Publication Number
    20070168590
  • Date Filed
    November 15, 2006
    18 years ago
  • Date Published
    July 19, 2007
    17 years ago
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.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

A better understanding of the present invention can be obtained when the following detailed description of the preferred embodiment is considered in conjunction with the following drawings, in which:



FIGS. 1A and 1B illustrate distributed I/O systems suitable for implementing various embodiments of the present invention;



FIG. 2A illustrates an instrumentation control system according to one embodiment of the invention;



FIG. 2B illustrates an industrial automation system according to one embodiment of the invention;



FIG. 3A is a high level block diagram of an exemplary system which may execute or utilize programs according to some embodiments;



FIG. 3B illustrates an exemplary system which may perform control and/or simulation functions;



FIG. 4 is a flowchart diagram illustrating one embodiment of a method for performing distributed I/O; and



FIG. 5 is a flowchart diagram illustrating a more detailed embodiment of a method for performing distributed I/O.


Claims
  • 1. A method for performing distributed input/output (I/O), the method comprising: a) receiving data from a serial port coupled to a serial transmission medium;b) determining if the data are framed by time;c) if the data are determined to be framed by time, handling the data according to a time-based protocol;d) if the data are determined to not be framed by time, determining if the data are framed by delimiters;e) if the data are determined to be framed by delimiters: determining an appropriate delimiter-based protocol for the data from a plurality of delimiter-based protocols; andhandling the data according to the appropriate delimiter-based protocol; andf) repeating a)-e) 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 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; andif 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; andparsing 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 determining if the data are framed by delimiters comprises: scanning the data for delimiters associated with any of the plurality of delimiter-based protocols;if delimiters are determined to be included in the data, determining the appropriate delimiter-based protocol for the data based on the determined delimiters; andperforming 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; andparsing the message.
  • 7. The method of claim 1, wherein the serial transmission medium comprises: a synchronous serial transmission medium; oran asynchronous serial transmission medium.
  • 8. The method of claim 1, wherein a)-f) 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; ora 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; ora dedicated controller.
  • 16. The method of claim 13, further comprising: the distributed I/O device sending further data to the controller via the serial transmission medium.
  • 17. 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; ora signal generation device.
  • 18. 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.
  • 19. A distributed data acquisition system, comprising: distributed I/O device, comprising a serial port; anda 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) determine if the data are framed by time;c) if the data are determined to be framed by time, handle the data according to a time-based protocol;d) if the data are determined to not be framed by time, determine if the data are framed by delimiters;e) if the data are determined to be framed by delimiters: determine an appropriate delimiter-based protocol for the data from a plurality of delimiter-based protocols; andhandle the data according to the appropriate delimiter-based protocol; andf) repeat a)-e) in an iterative manner to read a stream of data from the serial port.
  • 20. 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) determine if the data are framed by time;c) if the data are determined to be framed by time, handle the data according to a time-based protocol;d) if the data are determined to not be framed by time, determine if the data are framed by delimiters;e) if the data are determined to be framed by delimiters: determine an appropriate delimiter-based protocol for the data from a plurality of delimiter-based protocols; andhandle the data according to the appropriate delimiter-based protocol; andf) repeat a)-e) in an iterative manner to read a stream of data from the serial port.
  • 21. A computer accessible memory medium that stores program instructions executable by a processor to perform: means for a) receiving data from a serial port coupled to a serial transmission medium;means for b) determining if the data are framed by time;means for c) if the data are determined to be framed by time, handling the data according to a time-based protocol;means for d) if the data are determined to not be framed by time, determining if the data are framed by delimiters;means for e) if the data are determined to be framed by delimiters: determining an appropriate delimiter-based protocol for the data from a plurality of delimiter-based protocols; andhandling the data according to the appropriate delimiter-based protocol; andmeans for repeating a)-e) in an iterative manner to read a stream of data from the serial port.
Provisional Applications (1)
Number Date Country
60752791 Dec 2005 US