WO2005122508A1 - Passerelle de reseau - Google Patents
Passerelle de reseau Download PDFInfo
- Publication number
- WO2005122508A1 WO2005122508A1 PCT/IE2005/000067 IE2005000067W WO2005122508A1 WO 2005122508 A1 WO2005122508 A1 WO 2005122508A1 IE 2005000067 W IE2005000067 W IE 2005000067W WO 2005122508 A1 WO2005122508 A1 WO 2005122508A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- gateway
- network
- frame
- frames
- format
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6402—Hybrid switching fabrics
Definitions
- the invention relates to interfacing between networks for applications such as vehicles and other such automation equipment, including at least one time triggered ("TT") network.
- TT time triggered
- Messages in a time-triggered network are communicated by strictly adhering to an offline defined schedule of messages. Based on a Global Time, these messages are released when the Global Time reaches a point when a message has to be communicated. For transmissions, the messages are released when the Global Time reaches a certain pre-defined moment, and for receptions a message is expected to arrive when the Global Time reaches a certain moment i.e. the receive time for that frame. Clocks within a network are synchronized by means of clock synchronization algorithms.
- inter-network communication mechanism needs to ensure that message deadlines are met for inter-network traffic so as not to violate the temporal properties of safety critical messages.
- Shared Memory Approach In the shared memory switching approach incoming packets are converted from serial to parallel form, and written sequentially to a dual port RAM (random access memory). A memory controller defines the order in which packets are read out of the memory, based on packet headers with internal routing tags. Outgoing packets are demultiplexed to the outputs and converted from parallel to serial form. This approach is an output queuing approach, where the output buffers all physically belong to a common buffer pool.
- Packets may be routed through a shared medium, like a ring, bus or dual bus. Time- division multiplexed buses are a popular example of this approach. Arriving packets are sequentially broadcast on the TDM bus in a round-robin manner. At each output, address filters pass the appropriate packets to the output buffers, based on their routing tags. The bus speed must be at least NV to eliminate input queuing.
- the outputs are modular, which makes address filters and output buffers easy to implement. Also the broadcast-and-select nature of the approach makes multicasting and broadcasting straightforward.
- a crossbar switch is the simplest example of a matrix-like space division fabric that physically interconnects any of the N inputs to any of the N outputs.
- a crossbar switch can be used to achieve very high data rates of the order of Gbps, using input/output buffering and a bi-directional arbitration algorithm.
- Multistage interconnection networks which are tree-like structures, were developed to reduce the N squared crosspoints needed for circuit switching, multiprocessor interconnection and, more recently, packet switching.
- gateway architectures are known in the art, none are particularly suitable for interfacing with time-triggered control networks. There is, more particularly, a requirement for a gateway which:-
- a gateway for interfacing between communication networks including at least one time-triggered network, wherein the gateway comprises: a plurality of network interfaces, each having a port for interfacing with an associated one of said communication networks, and a hardware state machine controller for routing messages within the gateway between the network interfaces in real time.
- each network interface comprises a host processor for real time bit-by-bit translation between the protocol of the associated network and a gateway internal format.
- the host processor packetizes leading translated bits to the gateway internal format while trailing bits are being translated.
- each network interface comprises a receive interface device for receiving internal-format bits.
- each network interface comprises a receive FIFO buffer for receiving internal-format frames from the receive interface device and for routing them to a register.
- each network interface comprises a transmit device for transmitting internal-format frames to the host processor as the host processor is translating them.
- each network interface comprises a register for receiving messages from another network interface and a transmit FIFO for buffering messages between the register and the transmit device.
- the registers are interconnected in a routing ring, the registers read frames from the receive FIFO buffers, and the registers route the frames in the routing ring, and write the frames to the transmit FIFO buffer which is the destination for the frame before translation to the protocol of the associated network.
- the host processors insert a source identifier, a destination identifier, and a data field in each internal-format message, and the registers write messages to the transmit FIFO buffers according to the destination identifiers under state machine control.
- the data field contains a frame sequence identifier.
- the FIFO buffers operate according to a circular buffer model, each having a head index, a tail index, and a frame count.
- the head index and the frame count are incremented upon writing to the FIFO buffer, and for every frame read the tail index is incremented and the frame count is decremented.
- the gateway operates without an internal clock, as it is self- synchronized to external traffic.
- the gateway operates at a speed greater than the product of the number of ports and the port speed.
- the gateway further comprises a processor for executing a scheduling matrix, and for controlling the network interfaces and the controller to transfer messages between the networks in a time deterministic manner.
- FIG. 1 is a diagram illustrating the architecture of a gateway of the invention
- Fig. 2 is a diagram illustrating core frame format
- Fig. 3 is a diagram illustrating a FIFO circular buffer mechanism of the gateway
- Fig. 4 is a diagram of a gateway transmit side interface
- Fig. 5 is a set of plots showing transmit protocol timing
- Fig. 6 is a diagram showing a gateway receive side interface
- Fig. 7 is a set of plots for receive protocol timing
- Fig. 8 is a diagram showing an example inter-network traffic schedule
- Fig. 9 is a diagram showing an example inter-network message schedule.
- Fig. 10 is a diagram illustrating a hardware frame generator/analyser to test the gateway.
- a gateway 1 of the invention is shown interfacing with four time-triggered networks. It comprises a protocol controller 2 for interfacing with each network, and each controller 2 is connected to a network host processor 3. There is a radial architecture with each network host processor 3 linked to a central core state machine 4 via: a transmit interfaces 10, a transmit FIFO 11, a frame register 12, a receive interface 13, and a receive FIFO 14.
- the gateway 1 achieves real-time interfacing and routing because of its core hardware state machine control 4, and a bit by bit protocol translation at each network host processor (NHP) 3 to the internal core frame format (Fig.2).
- This bit by bit approach means that the leading translated bits are being packetized to the internal core frame format while the trailing bits are being translated.
- this internal core frame format (Fig 2) will typically carry just two bytes of data along with a frame sequence number, in its data field.
- this core frame is passed from the NHP 2 via the RX/IF 13 to the RXFIFO (ring buffer) 14.
- the frame register 12 will pick up the core frames from the RXFIFO 14 as they become available and the round-robin action of the core will transfer the core frame to its correct destination at defined in the DST ID (destination identifier) of the core frame (Fig 2).
- bit by bit translation achieves very fast protocol translation because it avoids buffering. If a given network protocol does not, for any reason, lend itself to such a bit by bit (or even byte by byte) translation, then it is possible for the NHP to buffer a full frame before frame packetization. In that case there would be a single frame delay in the translation process and such a delay could be accounted for in the overall scheduling of the system.
- the interfacing schedules are statically scheduled in advance according to a higher- level schedule matrix.
- the gateway 1 operates in real time with round robin equal priority routing of frames, to realise a shared medium solution.
- the shared medium approach for packet routing is the most suitable for inter-network communications in time-triggered networks. This is due to the fact that full internal non-blocking operation of the switch can be guaranteed as long as it operates at a speed greater than the product of the number of ports and the port speed in packets per second. Scalability is simple.
- the shared medium is the ring of four frame- ide registers 12 that operate in a round robin manner according to a hardware state machine. Full internal non-blocking operation is guaranteed as long as the shared medium's switching speed is greater than NV where N is the number of ports and V is traffic rate in packets per second.
- the central self-routing ring operates at a speed greater than NV. Also the use of sufficiently fast processors as network host processors 3 ensures fast frame conversion from network to gateway format and vice versa.
- the gateway converts from one type of protocol to another, in strict real-time.
- strict real time in this sense, it is meant that an incoming serial frame, on the bus of one type of network, can be converted 'on the fly' to the internal packet frame fo ⁇ nat and translated to a different type of network frame which is transferred out serially to its bus.
- the gateway allows different types of time triggered networks to interoperate in a real-time deterministic manner. It also allows such interoperation between time- triggered networks and non-time triggered networks. For example, a FlexRay type time-triggered network could interoperate an event-driven CAN type network.
- the gateway can operate without any internal gateway clock or clocks, because it is self synchronised to the external traffic. This is achieved within the constraints of the overall traffic throughput where the aggregate speeds of all ports are calculated in advance and accounted for in the calculation of overall matrix scheduling.
- Network nodes can be synchronised at the application level by the inclusion of a time frame in the protocol to carry timing information between the different types of networks, across the gateway.
- synchronised internal clocks can be used to provide more flexibility in the system message scheduling.
- the central routing core is based on a round robin scheme. Round robin routing ensures equal priority routing of messages.
- the central routing core consists of the shift register 12 that rotate inter-network messages amongst them and drop off messages at their intended ports according to their destination address.
- the registers 12 read frames from the receive FIFOs 14, rotate them among themselves and write to the transmit FIFO 11 according to the destination address on the frame.
- the frame format has three distinct fields: Source ID Destination ID Data Field
- the Source ID field is 4 bits wide, where each bit represents a network port. If more than 4 ports were to be supported then the core frame could be redefined as required.
- the destination ID is also 4 bits wide and each bit here represents the destination port address and the Data Field carries the Frame Data. The encoding and decoding of these source and destination IDs is the responsibility of the network host processors 3. The destination ID is decoded inside the gateway core whereas the source ID is decoded in the network host processor for it to form the correct transmit frame.
- the FIFOs 11 and 14 are modelled on a circular buffer model which has the following three indexes: Head index Tail Index Frame Count Upon initialisation all three indexes are set to zero. Upon writing into the buffer the Head Index is incremented and the Frame Count is incremented too. For every write to the FIFO the Head Index is incremented and the Frame Count is incremented as well. The Frame Count cannot exceed a maximum count and upon reaching that the FIFO is marked full and it cannot be written to. For every frame read the Tail Index is incremented and the Frame Count is decremented. The Frame Count ensures that the Tail Index does not overtake the Head Index, nor does it allow the Head Index to go beyond a maximum limit.
- Fig. 3 shows the concept of the circular buffer.
- the transmit interface 10 is shown in Fig. 4. It comprises three control signals and an 8-bit data port.
- a Frame Start Out signal on the transmit Interface a frame is read out of the Tx FIFO and stored in the framejregister of the transmit Interface block.
- the transmit_counter of the transmit Interface block is incremented and the MSB (most significant byte) of the frame is sent out of the port to be read by the host processor 3.
- the Tail Index of the Tx FIFO 11 is incremented for the next frame to be transmitted.
- Transmit protocol timing is shown in Fig. 5.
- BYT 1 is the core frame's packet sequence number
- BYT 2 and BYT 3 are the two data bytes, which have been packetized from the incoming TT frame.
- the receive interface 13 works quite similarly to the transmit interface 10. It also has three control signals and one 8-bit wide reception port along with a framejregister and a receive_counter. Reception on the receive interface begins with the arrival of a Frame Start In pulse which increments the Head Index of the Rx FIFO. The host processor 3 then outputs the MSB (most significant byte) of the frame on the 8 -bit wide reception port and pulses the Ready to Read port, on which the byte is put into the MSB of the framejregister and the receive_count in incremented. Once the complete frame is received in this way, upon reception of a Frame End In pulse the received frame is written into the current Rx FIFO location, pointed to by the Head Index. Receive protocol timing is shown in Fig. 7.
- the host processors perform the protocol conversion from network-format to the format of the gateway core and vice versa.
- message IDs In three of the four time-triggered networks there is a notion of message IDs. However TTP/C is an exception. In TTP/C the equivalent of message IDs can be the time slot numbers.
- the basic approach for making inter-network communication possible is to assign a set of IDs and time slots in each network for inter-network communication.
- the host processor 3 decodes the identifier or time slot of that message and encapsulates the data in the frame format of the gateway core and sends it out according to the transmit protocol.
- the host processor decodes the source ID of the gateway core frame and encapsulates the data in the network frame format with the ID associated with the originating network of the incoming message.
- the host processor 3 also performs the necessary protocol conversion and frame packetization to break down a network frame into a number of gateway frames and add a packet sequence number.
- the receiving host processor uses these packet sequence numbers to arrange gateway frames in order to extract the transmitted network frame.
- Fig. 8 shows a time-triggered network is used as a small reference example for explaining the scheduling of messages for real-time inter-network communications, in the context of the gateway design.
- the generic time-triggered network has four network nodes. Three of the network nodes are 'Normal Network Nodes', implying that they are coupled to a sensor or an actuator in the control network.
- the 'Network Host Processor Node' encompasses all of the functionality of the 'Normal Network Node' and is connected to the Gateway Core.
- the additional functionality in the 'Network Host Processor' node is the algorithms and functions for protocol conversion from gateway to network format and vice- versa.
- Fig. 9 shows the broader picture of the overall message schedule for inter-network messages for the example, in time-triggered networks the communication on the bus in general is divided in cycles and rounds. All cycles are of same length but the message sequence that makes up a round may or may not be the same. A fixed number of cycles make up a round after which the pattern of cycles is repeated again.
- Fig. 9 shows the message communication schedule of each node in each cycle of the message communication round.
- the numbers in Fig. 9 represent a message ID or Slot number, the Tx' or the 'Rx' shows if the node will transmit or received in the listed message ID or slot number.
- the dashed line represents no action.
- the technique employed for inter network communications is to assign fixed message IDs for inter network communications. These IDs or Slot numbers are highlighted in Fig. 8 and Fig. 9.
- Fig. 9 one round is made up of three cycles. The pattern is repeated after every three cycles. Nodes in time-triggered networks know a priori when a certain message ID has to be transmitted and also when a certain message ID is expected to arrive.
- the Normal Network Node 1 transmits Slots/IDs 1, 2 and 3 and receives IDs 4, 5 and 6.
- the Network Host Processor Node receives IDs 1, 2 and 3 and transmits IDs 4, 5 and 6. It should be recalled that each ID is assigned with messages going to or coming from other time-triggered networks through the gateway core.
- the Normal Network Node 2 transmits Slots/IDs 1, 2 and 3 and receives IDs 4, 5 and 6 and the network host processor receives and transmits the same sequence as it did in cycle 1.
- the rate of inbound and outbound traffic will remain predictable and constant due to the fact that the host processor continues to operate in the same manner in all communication cycles. This also ensures that the gateway core will always be able to operate in a full non-blocking way as traffic parameters will remain within a known maximum limit.
- the architecture can be realized through RTL coding in a HDL.
- the RTL coding of the gateway core, FIFOs, and associated interfaces were programmed in VHDL, The inventors have implemented this architecture in an FPGA.
- FIG. 10 is a block diagram of the hardware frame generator/analyser.
- the VHDL test-bench and the hardware frame generator/analyser are the same, as their basic function is to send and receive frames to and from the gateway core.
- the switching core had to be verified to ensure that it is bug free and operates according to specification.
- the functionality of the switching core was verified using a separate test bench that had only the switching core instantiated in it.
- This test-bench also had VHDL procedures that would write frames to the switching core and also read frames from it. These procedures generated frames conforming to the gateway core format. Thus, the proper routing of the frames within their time boundaries was checked using a waveform viewer.
- the gateway core was verified the complete design i.e. with the network host processor and the UART, was instantiated in the main test-bench.
- the test-bench frames conforming to the gateway format were generated and analysed in serial format. The functionality of the gateway was thus verified in software by simulating the VHDL core along with its test-bench.
- the test software can generate frames conforming to the gateway format via a PC's serial port.
- the user can define with millisecond resolution the period of frame transmission.
- This functionality emulates the principle of message transmission in time-triggered networks i.e. message transmission on a common time base.
- the software is also capable of retrieving received frames according to a user-defined timebase.
- This functionality emulates the principle of frame reception in time- triggered networks i.e. message reception on a common timebase.
- the software can be configured to generate varying frame patterns with different header and data fields.
- Frame analysis functionality is also built in the software, where a transmit counter keeps a track of the number of frames sent and receive counters keep a track of numbers of frames received from each of the four gateway ports. The receive counters only increment if the new frame data is different from the previous data.
- the gateway was synthesized for a Xilinx Spartan-II FPGA and was tested with a master clock frequency of 40 MHz. Frames generated by the test software were triggered by a 20 ms timer and the receive timer was set at 3ms. The test application was set up to detect 128 correctly routed multicast frames. The use of multicast frames ensured that a worst-case scenario, i.e. when all frames sent are destined for all the ports, could be checked in real hardware. The speed of data for these tests is relatively slow, as compared to real networks, but the testing has validated the logic of the concept and the prototype design.
- the input frame rate for full non-blocking operation under worst-case conditions should be 4 times slower than what the output port can handle due to the fact that one frame is addressed to all four ports including the port of frame arrival.
- two frames are retrieved every time the UART buffer is half full (8 bytes equivalent to 2 gateway frames - Xilinx UART buffer has a total of 16 bytes). Therefore the tolerable frame rate with the present NHP implementation has to be 8 times slower than the maximum frame rate at the output ports in order to ensure deterministic operation of the gateway core.
- the minimum frame period for full non-blocking operation with present NHP implementation is
- the gateway architecture can support the desired traffic throughput without loss of frames once the message schedules in individual networks are set up as explained in the section Inter-Network Traffic Schedule.
- the invention provides a gateway which achieves, with a simple architecture, real time and complete interfacing between networks including time triggered networks.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IE2004/0395 | 2004-06-10 | ||
IE20040395 | 2004-06-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2005122508A1 true WO2005122508A1 (fr) | 2005-12-22 |
Family
ID=34968974
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/IE2005/000067 WO2005122508A1 (fr) | 2004-06-10 | 2005-06-10 | Passerelle de reseau |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2005122508A1 (fr) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9137042B2 (en) | 2006-09-06 | 2015-09-15 | Nxp, B.V. | Cluster coupler in a time triggered network |
CN106788863A (zh) * | 2016-11-24 | 2017-05-31 | 北京航空航天大学 | 一种支持子网时间触发通信的航空电子wdm网络管理仿真系统 |
US11902370B2 (en) | 2019-11-27 | 2024-02-13 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Shared data management system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010004354A1 (en) * | 1999-05-17 | 2001-06-21 | Jolitz Lynne G. | Accelerator system and method |
US20010016789A1 (en) * | 1999-01-28 | 2001-08-23 | Dieter E. Staiger | Electronic control system |
US20030012168A1 (en) * | 2001-07-03 | 2003-01-16 | Jeremy Elson | Low-latency multi-hop ad hoc wireless network |
-
2005
- 2005-06-10 WO PCT/IE2005/000067 patent/WO2005122508A1/fr active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010016789A1 (en) * | 1999-01-28 | 2001-08-23 | Dieter E. Staiger | Electronic control system |
US20010004354A1 (en) * | 1999-05-17 | 2001-06-21 | Jolitz Lynne G. | Accelerator system and method |
US20030012168A1 (en) * | 2001-07-03 | 2003-01-16 | Jeremy Elson | Low-latency multi-hop ad hoc wireless network |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9137042B2 (en) | 2006-09-06 | 2015-09-15 | Nxp, B.V. | Cluster coupler in a time triggered network |
CN106788863A (zh) * | 2016-11-24 | 2017-05-31 | 北京航空航天大学 | 一种支持子网时间触发通信的航空电子wdm网络管理仿真系统 |
CN106788863B (zh) * | 2016-11-24 | 2018-05-11 | 北京航空航天大学 | 一种支持子网时间触发通信的航空电子wdm网络管理仿真系统 |
US11902370B2 (en) | 2019-11-27 | 2024-02-13 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Shared data management system |
Also Published As
Publication number | Publication date |
---|---|
IE20050393A1 (en) | 2005-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1249978B1 (fr) | Dispositif et procédé de transmission dans un commutateur | |
Stefan et al. | daelite: A tdm noc supporting qos, multicast, and fast connection set-up | |
US9313115B2 (en) | Traffic generator with priority flow control | |
Zhao et al. | Comparison of time sensitive networking (TSN) and TTEthernet | |
US5790545A (en) | Efficient output-request packet switch and method | |
JP3412825B2 (ja) | データネットワーク上でデータパケットをスイッチングする方法および装置 | |
CN102047618B (zh) | 网络处理器单元和用于网络处理器单元的方法 | |
JP5183922B2 (ja) | 可変長データパケットの異種ネットワークスイッチングシステム及びその方法、並びにシグナルリングインターフェースを用いたアドレステーブル構成方法 | |
US8687483B2 (en) | Parallel traffic generator with priority flow control | |
JP2000503828A (ja) | データネットワーク上でデータパケットをスイッチングする方法および装置 | |
JPH08505991A (ja) | アクセス制御atmスイッチ | |
US11940943B2 (en) | Low complexity ethernet node (LEN) one port | |
EP1356640B1 (fr) | Commutateurs modulaires et echelonnables et procede de distribution de trames de donnees ethernet rapides | |
WO2005122508A1 (fr) | Passerelle de reseau | |
US7568074B1 (en) | Time based data storage for shared network memory switch | |
Shaheen et al. | A gateway for time-triggered control networks | |
CN102045256A (zh) | 一种基于cots的带宽预分配保证网络功能演示系统 | |
Carvajal et al. | Atacama: An open FPGA-based platform for mixed-criticality communication in multi-segmented Ethernet networks | |
CN115733759A (zh) | Ttfc消息调度的仿真模型系统 | |
Simon et al. | Ethernet with time sensitive networking tools for industrial networks | |
IE84296B1 (en) | A network gateway | |
CN114866493A (zh) | Tas异步调用实现系统和方法 | |
CN112631985B (zh) | 一种链路共享的片上网络 | |
Berisa et al. | Investigating and Analyzing CAN-to-TSN Gateway Forwarding Techniques | |
Tang et al. | Online schedule of sporadic life-critical traffic in ttethernet |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWW | Wipo information: withdrawn in national office |
Country of ref document: DE |
|
122 | Ep: pct application non-entry in european phase |