1. Field of the Invention
The invention relates to the systems, devices and methods used to interface between different networks having different transport protocols and, more particularly, to systems, devices, and methods that interface between devices connected to network data buses, including Ethernet or Avionics Full Duplex (AFDX) data buses, and devices connected to avionics data buses, including ARINC 429 data buses.
2. Description of the Related Art
The ARINC 429 standard was developed by the aviation industry as a standard communication protocol for point-to-point data bus communication. As ARINC 429 systems developed, the Williamsburg file transfer protocols, defined in ARINC 429P3-18, were developed to transfer files larger that 32 bit words. Thus, in these latter systems, data was transferred using Williamsburg over ARINC 429.
In contrast, Ethernet data buses and associated standard communication protocols were developed by the computer industry to interconnect computers. Ethernet provides for higher data rates and accommodates larger file sizes. However, due to different development paths, Ethernet devices are not directly compatible with ARINC 429 devices.
Consequently, as avionics system designs migrate from the traditional federated systems using point-to-point data buses (ARINC 429) to an Integrated Modular Avionics (IMA) using networked data buses, such as the Avionics Full Duplex (AFDX) data bus or Ethernet, the need arises to interface the legacy equipment that uses the old point-to-point data bus with devices connected to the Ethernet bus. This interface avoids the need for costly redevelopment or replacement of the legacy equipment.
The present invention addresses the problems identified above by providing methods, equipment and systems that can provide an interface between avionics equipment connected to avionics data buses, such as ARINC 429 compatible devices, and devices connected to network data buses, such as Ethernet or AFDX networks.
One embodiment of this invention allows an application on a networked data bus to interface to an end system that uses the Williamsburg file data transfer protocols (versions 1 and 3, as defined in ARINC 429P3-18) over an ARINC 429 data bus.
Another embodiment provides for using an AFDX data bus to transfer files to an ARINC 429 end system by transmitting the protocol and data words required for a Williamsburg (Version 1 or 3) file transfer in the scheduled AFDX data blocks between the application and a Remote Data Concentrator (RDC) and using an ARINC 429 data bus between the RDC and the legacy end system.
Another embodiment provides for using an AFDX data bus to receive files from an ARINC 429 end system by transmitting the protocol and data words required for a Williamsburg (Version 1 or 3) file transfer in the scheduled AFDX data blocks between the application and an RDC and using an ARINC 429 data bus between the RDC and the legacy end system.
Another embodiment provides for transmitting data between an Ethernet device and an ARINC 429 device. The method includes receiving a block of data; dividing the block of data into Ethernet packets, the Ethernet packets comprising at least a first packet and a second packet, the first packet having a first packet size and the second packet having a second packet size; transmitting the first packet; and transmitting the second packet after waiting a predetermined time. The first packet size, the second packet size, and the predetermined time are selected to prevent buffer or memory overflow at an Ethernet to ARINC 429 data converter. The second packet size, and the predetermined time are selected to prevent expiration of a timer at the ARINC 429 device. And the timer is associated with data transferred in the first and second packets.
Another embodiment provides for transmitting data between an Ethernet device and at least first and second ARINC 429 devices. The method includes receiving a first block of data addressed to the first ARINC 429 device; receiving a second block of data addressed to the second ARINC 429 device; dividing the first block of data into Ethernet packets, the Ethernet packets comprising at least a first packet and a second packet, the first packet having a first packet size and the second packet having a second packet size; dividing the second block of data into Ethernet packets, the Ethernet packets comprising at least a third packet and a fourth packet, the third packet having a third packet size and the fourth packet having a fourth packet size; transmitting the first packet addressed to the first ARINC 429 device; transmitting the third packet addressed to the second ARINC 429 device; transmitting the second packet addressed to the first ARINC 429 device after waiting a first predetermined time, and transmitting the fourth packet addressed to the second ARINC 429 device after waiting a second predetermined time. The first packet size, the second packet size, and the first predetermined time are selected to prevent buffer or memory overflow at a first Ethernet to ARINC 429 data converter. The second packet size, and the first predetermined time are selected to prevent expiration of a first timer at the first ARINC 429 device. The first timer is associated with data transferred in the first and second packets. The third packet size, the fourth packet size, and the second predetermined time are selected to prevent buffer or memory overflow at a second Ethernet to ARINC 429 data converter. The fourth packet size, and the second predetermined time are selected to prevent expiration of a second timer at the second ARINC 429 device. And the second timer is associated with data transferred in the third and fourth packets.
Another embodiment provides a method for transmitting data between a first device connected to first data bus having a first communication protocol and second device connected to a second data bus having a second communication protocol. The method includes receiving a block of data; dividing the block of data into at least a first packet having a first packet size and a second packet having a second packet size; transmitting the first packet to a converter, the converter being configured to convert a packet from the first communication protocol to the second communication protocol; and transmitting the second packet to the converter after waiting a predetermined time. The first packet size, the second packet size, and the predetermined time are selected to prevent overflow of a memory of the converter. The second packet size, and the predetermined time are selected to prevent expiration of a timer at the second data bus. The time is associated with data transferred in the first and second packets.
A further embodiment of the invention provides a device for transmitting data between a first device connected to first data bus having a first communication protocol and second device connected to a second data bus having a second communication protocol. A receiver receives a block of data. A divider divides the block of data into at least a first packet and a second packet, the first packet having a first packet size and the second packet having a second packet size. A transmiter transmits the first packet to a converter, the converter being configured to convert a packet from the first communication protocol to the second communication protocol. A transmiter transmits the second packet to the converter after waiting a predetermined time. The first packet size, the second packet size, and the predetermined time are selected to prevent buffer or memory overflow at the data converter. The second packet size, and the predetermined time are selected to prevent expiration of a timer at the second device. The timer is associated with data transferred in the first and second packets.
The accompanying drawings incorporated in and forming part of the specification illustrate several aspects of the present invention. In the drawings:
Reference will now be made in detail to various embodiments of the invention, examples of which are illustrated in the accompanying drawings.
The present invention relates to systems and methods for interfacing between network data bus applications and avionics data buses. Many specific details of certain embodiments of the invention are set forth in the following description and in
In the following detailed description, references are made to various specific embodiments of avionics data buses, such as a current industry-standard data bus known as the ARINC 664 (AFDX), and to specific embodiments of general network data buses, such as the widely-used Ethernet data buses. Such references to specific embodiments of data buses are made for the sake of brevity and to improve a reader's understanding of the invention through a discussion of specific embodiments of the invention. It should be appreciated, however, that the invention is not limited to these specific embodiments of data buses, and that alternate embodiments of the invention may be conceived that operate with various other types and models of data buses.
The AFDX data bus is described by ARINC 664, and is generally described as an Ethernet bus in which all data is scheduled for transmission. This provides a guarantee that data will be transmitted between systems within a specified time. To achieve this, each system is limited in the size of the message it will transmit, and the period that it will be scheduled for transmission. The ARINC 664 standard is herein incorporated by reference.
The Williamsburg file transfer protocol is described by ARINC 429P3. This protocol provides for block data transfer over a periodic data bus. This protocol is used by many legacy avionics systems, especially equipment used for datalink communications. Version 1 of the Williamsburg file transfer protocol allows for transmission of up to 65000 32 bit words, and also dictates timers and counters that must be used for successful communication. ARINC 429 will operate at bus speeds of up to 100 Kbps. The ARINC 429 standard is herein incorporated by reference.
Each remote data concentrator (RDC) or Ethernet to ARINC 429 converter 32, 34 provides a gateway function between the AFDX or Ethernet bus 12 and ARINC 429 buses 42, 44 that operate asynchronously. To optimize cost, size, and power constraints, an Ethernet to ARINC 429 converter may be designed with memory and throughput that may not support the data capacity required for Williamsburg data. ARINC 429 bus transmits at a fixed rate. Therefore, the filling of Ethernet to ARINC 429 converter memory may be managed based on the known rate of data outflow.
As shown in
In one embodiment, the transmit data rate occurs at a rate fast enough to not allow a buffer 36 or memory in the Ethernet to ARINC 429 converter 32 or RDC to become empty, without overflowing it. Failure to keep data available in the memory may result in overrunning of the Williamsburg timers, and a breakdown in communication. One example of an Ethernet data transmit rate used in one preferred embodiment is shown in
The rate of transmission of and response to Williamsburg messages (e.g. request to send clear to send, etc.) should be sufficient to satisfy the Williamsburg response timers. Thus, in some embodiments, data transmission is scheduled on the Ethernet or AFDX bus to satisfy the most stringent Williamsburg timer, which is the RTS (Request To Send) to CTS (Clear To Send) response time. In other embodiments, the data transmission is scheduled on the Ethernet or AFDX bus to satisfy the Williamsburg timer response time associated with the data transmission. In embodiments where transmissions are not scheduled, the priority of the data transmission is set so that the Williamsburg timer response time associated with the data transmission is satisfied.
When the data block transmitted from the Ethernet device 20 is larger than a predetermined size, the data block may be sized to manage the amount of data in the buffer 36 of the Ethernet to ARINC 429 converter 32 or in the RDC memory. The sizing may be accomplished by segmenting a file into multiple Ethernet or AFDX messages. If the data block size is smaller than the predetermined size the data block may be transmitted in a single message. When the data block size is equal to or larger than the predetermined size the data block may be transmitted in two or more messages. The predetermined size may be based on the memory and/or buffer size of the Ethernet to ARINC 429 converter 32 or in the RDC memory.
In one embodiment, the initial Ethernet or AFDX message may only transmit sufficient data so as to guarantee that the buffer 36 of the Ethernet to ARINC 429 converter 32 does not run out of ARINC 429 words due to the asynchronous nature of the Ethernet or AFDX bus. In one embodiment, for example, the initial message contains more data than would be transmitted between successive AFDX messages, while leaving sufficient room in the buffer for subsequent messages. In other embodiments, the initial message may contain a similar amount of data as subsequent messages. In still other embodiments, the initial message may be smaller than subsequent messages. In yet other embodiments, the message sizes may vary from message to message and from file to file. While it is preferred that the message sizing and transmit rate be selected to prevent the buffer 36 of the Ethernet to ARINC 429 converter 32 from running out of data, in some embodiments, the buffer 36 can run out of data for short time periods as long as the entire file is received at the ARINC 429 device before the associated timer expires or runs out.
Based on the rate of ARINC 429 transmission and the scheduled rate of the Ethernet or AFDX transmissions, the subsequent data block sizes may be calculated for the next Ethernet or AFDX transmission. In embodiments where transmissions are not scheduled, the Ethernet to ARINC 429 converter 32 may send a buffer status message to the Ethernet device 20 that the buffer 36 has room for data. This status message may contain a symbol that represents the amount or number of bits, bytes, words, etc. available, the amount or number of bits, bytes, words, etc. used, a percentage of the memory available, a percentage of the memory used, a percentage range of the memory available, a percentage range of the memory used, etc. The Ethernet device 20 could then set the size and/or priority of the next message based on this status message.
In one embodiment, the software 22 reassembles a Williamsburg data block that is received over multiple Ethernet or AFDX messages from the Ethernet to ARINC 429 converter 32 or RDC. The size of the data within each Ethernet or AFDX message may be limited to the number of ARINC 429 words that are received within the transmit period of the, the Ethernet to ARINC 429 converter 32 or RDC onto the Ethernet or AFDX bus. This approach reduces the size of the buffer 38 required in the Ethernet to ARINC 429 converter 32. In embodiments using a larger buffer 38, the Ethernet or AFDX message may only be limited by the size of the buffer 38 and may be transmitted when the buffer 38 reaches a predetermined capacity, after a predetermined time, or after a predetermined time without receiving data.
In summary, numerous benefits are described which result from employing the concepts of the invention. The foregoing description of exemplary embodiments of the invention is presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. It will be appreciated that modifications or variations are possible in light of the above teachings. The above-described embodiments were selected and described in order to best illustrate the principles of the invention and its practical application to thereby enable one of ordinary skill in the art to best utilize the invention in various embodiments and with various modifications as are suited to particular uses contemplated. It is intended that the scope of the invention be defined by the claims appended hereto.
This application claims the benefit U.S. Provisional Application No. 60/741,635, filed Dec. 2, 2005.
Number | Date | Country | |
---|---|---|---|
60741635 | Dec 2005 | US |