Abstract:
Systems and methods are described for reliably transmitting data in a network. The method includes: performing by a module, monitoring data from an output drive module for errors; and when an error is detected, generating a first signal based on the monitoring, and adjusting an input voltage to at least one of a pull-up resistor and a pull-down resistor for a predetermined time based on the first signal, to emphasize the error.

Description:
STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT 
     This invention was made with U.S. Government support under Contract No. NNJ06TA25C. The government has certain rights in this invention. 
    
    
     TECHNICAL FIELD 
     The present disclosure generally relates to data transmission, and more particularly relates to methods and systems for transmitting data over a communications network upon detection of an error. 
     BACKGROUND 
     High speed network interface cards monitor high speed data packets transmitted between peripheral devices. This monitoring detects errors in any particular data packet. However, in some cases the error may be undetected. In high integrity systems such as in an aircraft, the accuracy of the data transmission is crucial to ensuring proper operation of the aircraft. For example, if transmitted data containing errors is determined to be error free by a receiver, operation of the aircraft can be detrimentally affected by relying on the data containing errors. 
     Hence, there is a need for systems and methods for providing methods and systems that monitor and transmit data such that errors can be readily detected. Other desirable features and characteristics will become apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and this background of the invention. 
     BRIEF SUMMARY 
     According to various exemplary embodiments, systems and methods are described for reliably transmitting data in a network. In one embodiment, a method is provided for reliably transmitting data in a network. The method includes: performing by a module, monitoring data from an output drive module for errors; and when an error is detected, generating a first signal based on the monitoring, and adjusting an input voltage to at least one of a pull-up resistor and a pull-down resistor for a predetermined time based on the first signal, to emphasize the error. 
     In another embodiment, a system is provided for reliably transmitting data in a network. The system includes network interface card that includes a monitoring module. The monitoring module monitors data from an output drive module for errors, and when an error is detected, generates a first signal based on the monitoring, and adjusts an input voltage to at least one of a pull-up resistor and a pull-down resistor for a predetermined time based on the first signal, to emphasize the error. 
     In still another embodiment, a computer program product is provided for reliably transmitting data in a network. The computer program product includes a tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method. The method includes monitoring data from an output drive module for errors; when an error is detected, generating a first signal based on the monitoring, and adjusting an input voltage to at least one of a pull-up resistor and a pull-down resistor for a predetermined time based on the first signal, to emphasize the error. 
     Furthermore, other desirable features and characteristics of the method and system will become apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and the preceding background. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The present invention will hereinafter be described in conjunction with the following figures, wherein like numerals denote like elements, and wherein: 
         FIG. 1  is a diagram illustrating a network of devices that includes data transmission methods and systems in accordance with exemplary embodiments; 
         FIG. 2  is block diagram illustrating data transmission systems of the network in accordance with exemplary embodiments; and 
         FIG. 3  is a flowchart illustrating data transmission methods in accordance with exemplary embodiments. 
     
    
    
     DETAILED DESCRIPTION 
     The following detailed description is merely exemplary in nature and is not intended to limit the disclosure or the application and uses of the disclosure. As used herein, the word “exemplary” means “serving as an example, instance, or illustration.” Thus, any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments. All of the embodiments described herein are exemplary embodiments provided to enable persons skilled in the art to make or use the invention and not to limit the scope of the invention which is defined by the claims. Furthermore, there is no intention to be bound by any expressed or implied theory presented in the preceding technical field, background, brief summary, or the following detailed description. 
     As used herein, the term “module” refers to any hardware, software, firmware, electronic control component, processing logic, and/or processor device, individually or in any combination, including, without limitation: an application specific integrated circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and memory that executes one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality. 
     Turning now to the figures and with initial reference to  FIG. 1 , an exemplary network  10  for providing communications between one or more devices  12   a - 12   n  through one or more network interface cards  14   a - 14   n  is shown to include a data transmission system in accordance with various embodiments. In the various embodiments shown, the devices  12   a - 12   n  include any devices of a system  16 . As can be appreciated, the data transmission methods and systems of the present disclosure may be applicable to various devices of various systems and is not limited to the present example. Although the figures shown herein depict an example with certain arrangements of elements, additional intervening elements, devices, features, or components may be present in actual embodiments. It should also be understood that  FIG. 1  is merely illustrative and may not be drawn to scale. 
     Each device  12   a - 12   n  of the exemplary network  10  may be a fixed or a mobile device that communicates data according to one or more networking protocols. The data is communicated from one device  12   a - 12   n  to another device  12   a - 12   n  through a communication bus  18 . The communication bus  18  can be serial communication bus that is wired, wireless, or a combination thereof. 
     The network interface cards  14   a - 14   n  of the devices  12   a - 12   n  each includes a data transmission module  20   a - 20   n  in accordance with exemplary embodiments. Each data transmission module  20   a - 20   n  transmits data according to a reliable protocol using one or more transmission methods. In various embodiments, as shown in the more detailed  FIG. 2  illustrating one of the data transmission modules  20   a , the data transmission module  20   a  is associated with an output drive module  22  of the network interface card  14   a . The data transmission module  20   a  includes a monitoring sub-module  24  and one or more external pull-up and/or pull-down resistors  26 ,  28 . In various embodiments, the monitoring module  24  monitors output data to be transmitted from the output drive module  22  for errors and forces data to be transmitted to an error state using the pull-up/pull-down resistors  26 ,  28  when an error is detected. 
     More specifically, with continued reference to  FIG. 2 , the external resistors  26 ,  28  are pulled up or pulled down to an appropriate supply voltage to deliver the logic levels for the transmitted data. When an error is detected, the monitoring module  24  outputs a signal to the pull-up/pull-down resistors  26 ,  28  defined as a KILL signal. The signal is then the control voltage to the interruption of the data. For example, under normal operation with no errors in the data transmitted, the KILL signal is inactive and the voltage is available to the resistors  26 ,  28  at the output of the drive module  22 . When an error is detected, the KILL signal is activated and the voltage is switched to a different value at the resistors  26 ,  28 . The change in voltage ensures that the data is further corrupted and a receiver check (e.g., a cyclic redundancy check (CRC) check, a protocol check, or any other type of check) fails. 
     Referring now to  FIG. 3 , and with continued reference to  FIGS. 1-2 , a flowchart illustrates a data transmission method that can be performed by the data transmission module  38  of  FIGS. 1 and 2  in accordance with the present disclosure. As can be appreciated in light of the disclosure, the order of operation within the methods is not limited to the sequential execution as illustrated in  FIG. 3 , but may be performed in one or more varying orders as applicable and in accordance with the present disclosure. 
     As can be appreciated, the data transmission method may be scheduled to run based on predetermined events (e.g., when data is to be transmitted), and/or can run continually at predetermined intervals during operation of the device  12   a - 12   n.    
     The method may begin at  100 . It is determined whether an error has been detected (e.g., by comparing the data as it goes out bit by bit) at  110 . If an error is not detected, the signal for the data is transmitted at  130 . If, at  110 , an error has been detected, a KILL signal is generated (e.g., for a predetermined time during the transmission process or until the transmission of the data is complete) at  120 . Based on the KILL signal, the resistor is forced to an error state (e.g., to a HIGH position or a LOW position) for the predetermined time and the signal is transmitted. The resistor then causes invalid bits to be transmitted for the predetermined time at  130 . Thus, the error is emphasized in the transmitted data such that it will be readily identifiable by the receiver. Thereafter, it is determined whether the data transmission (e.g., the entire packet has been transmitted) is complete at  140 . If the data transmission is not complete at  140 , the method continues with monitoring to determine an error has been detected at  110 . If the data transmission is complete at  140 . The method may end at  150 . 
     As can be appreciated, one or more aspects of the present disclosure can be included in an article of manufacture (e.g., one or more computer program products) having, for instance, computer usable media. The media has embodied therein, for instance, computer readable program code means for providing and facilitating the capabilities of the present disclosure. The article of manufacture can be included as a part of a computer system or provided separately. 
     Additionally, at least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform the capabilities of the present disclosure can be provided. 
     While at least one example embodiment has been presented in the foregoing detailed description of the invention, it should be appreciated that a vast number of equivalent variations exist. It should also be appreciated that the embodiments described above are only examples, and are not intended to limit the scope, applicability, or configuration of the invention in any way. Rather, the foregoing detailed description will provide those skilled in the art with a convenient road map for implementing various examples of the invention. It should be understood that various changes may be made in the function and arrangement of elements described in an example embodiment without departing from the scope of the invention as set forth in the appended claims and their legal equivalents.