INITIALIZING A SYSTEM ARRANGEMENT FOR PACKAGE-BASED DATA TRANSFER
Patent Information
- Application Number
- DE502022006868
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-09-27
- Publication Date
- 2026-02-12
- Estimated Expiration
- 2042-09-27
AI Technical Summary
Existing data transmission systems in the automotive industry face challenges in achieving deterministic latency with minimal technical effort, particularly when multiple data paths are required over a single physical medium, as they often incur high overhead and are not suitable for weight-sensitive applications.
A method for initializing a system arrangement that allows packet-based data transmission over a single physical data channel with up to 128 virtual data paths, using predefined packet lengths to ensure deterministic latency by adjusting packet lengths based on latency and bandwidth requirements, and employing a virtual path layer to manage these paths efficiently.
This approach reduces overhead, minimizes technical effort, and ensures deterministic latency across multiple data paths, optimizing weight reduction and resource utilization in automotive systems.
Description
[0001] The present invention relates to a method for initializing a system arrangement or a data channel, wherein packet-based data transmissions are optimized to exhibit deterministic latency. Furthermore, it ensures that a single physical data line can be used, even when 128 lines need to be implemented. Due to the packet-based transmission, the latency of the data transmission can be controlled independently of the bandwidth of the transmission channel. Thus, deterministic latency is achieved over a single physical communication channel, which is particularly advantageous in the automotive sector, as weight reduction is essential for increasing the vehicle's range, especially in e-mobility.The present invention is also directed to a correspondingly configured system arrangement as well as a computer program product and a computer-readable medium with control commands which implement the method or operate the system arrangement.
[0002] The invention is defined by the independent claims; further special embodiments are defined by the dependent claims.
[0003] US 9,043,509 B2 shows network adjustments depending on latency specifications. EP 1 993 237 B1 shows a circuit for use in a multimedia server module that can be coupled to a variety of multimedia sources that produce at least one multimedia signal.
[0004] Packet-based data transmission is known from the prior art, but the underlying hardware is not subject to any weight restrictions. Network connections are known that are achieved via a specific number of data cables. In these cases, however, weight is typically of secondary importance, and redundant data lines or data paths are proposed within a computer network. These network-based data transmissions, along with their implied topology and architecture, are not suitable for use in automobiles due to the specific requirements.
[0005] The data transmission solution for automotive applications must offer maximum efficiency (minimal overhead) in terms of bandwidth utilization. Furthermore, it must be possible to transmit many (>100) data paths in parallel over a single physical medium (fiber optic or electrical cable). These data paths must be independent of each other.
[0006] Low-latency data paths must not require high bandwidth; this is not possible with purely frame-based or TDM systems (low latency is achieved by a fixed allocation of bandwidth).
[0007] Data paths must have deterministic latency. Deterministic data paths are not possible in systems with potential collisions on the physical layer or in systems with flexible data routing (Ethernet).
[0008] Systems with inefficient line coding (e.g., 8B / 10B = 25% overhead) have too high an overhead for high bit rate data transmissions.
[0009] Variable (data) packet lengths require too much overhead to be recognized during data recovery (from the serial data stream).
[0010] Therefore, there is a need in the automotive industry to create a method that enables a deterministic latency to be achieved with minimal technical effort, both on the hardware and software side, while taking data line parameters into account.
[0011] Accordingly, it is an object of the present invention to propose a method for initializing a system arrangement, a communication channel, or a data transmission, which makes it possible to achieve a deterministic latency while incurring minimal effort. Furthermore, it is an object of the present invention to propose a correspondingly configured system arrangement, as well as a computer program product and a computer-readable medium containing control commands that implement the method or operate the system arrangement.
[0012] The problem is solved by the features of claim 1. Further advantageous embodiments are specified in the dependent claims.
[0013] Accordingly, a method for initializing a system arrangement for packet-based transmission of data on up to 128 virtual paths over a physical data channel of an automobile with deterministic latency is proposed, comprising reading a provided latency specification and a bandwidth specification of the data channel for each virtual data path to transmit a bit sequence to be transmitted; and setting a packet length for each of the 128 data paths taking into account four predefined packet lengths of the bit sequence, wherein the packet length is chosen such that short packet lengths are used when short latency is required and low available bandwidth is available, and long packet lengths are chosen when long latency is required and high available bandwidth is available.
[0014] According to the invention, it is proposed to initialize a system arrangement or a data channel in order to perform packet-based data transmission. While a single physical data channel is specified, up to 128 virtual data paths are possible on this channel, connecting different data sources to data sinks. An identifier for a virtual path and / or corresponding addresses can be used for this purpose. Initially, the data channel or the data transmission is not necessarily characterized by certain features; rather, some bandwidth is available, and the latency is non-deterministic. The present method takes the available bandwidth into account and ensures that the data transmissions are subsequently deterministic with respect to latency.
[0015] In a preparatory step, a specified latency and / or bandwidth requirement for the data channel is read. The latency requirement can originate from an application scenario, and thus a data store can be used to define the expected latency for each channel. Furthermore, the data channel itself can influence the requirement, restricting latencies to a predetermined range. Additionally, the data channel can specify a required bandwidth. This bandwidth requirement can also be derived from an application scenario, specifying the necessary bandwidth. The latency and / or bandwidth requirement can also depend on the number of occupied virtual data paths, allowing the data paths to share certain system parameters.
[0016] Generally, it is not necessary for the latency and / or bandwidth specifications to be the same for every virtual data path. The method for reading the provided latency and / or bandwidth specifications can be defined separately for each virtual data path, allowing these parameters to vary. The latency and bandwidth specifications can also be read by measuring the physical data channel and deriving a corresponding specification from the measurement. This can be done continuously or at repeated intervals, making it possible to adjust the latency and bandwidth specifications over time.
[0017] Subsequently, a packet length is set for each of the 128 virtual data paths, taking into account four predefined packet lengths of the bit sequence. Thus, the desired packet length is set for each virtual data path. Empirical experience has shown that exactly four predefined packet lengths are particularly advantageous. This allows for a significantly reduced number of packet lengths to be considered—namely, exactly four—while still being sufficient to balance the specified latency with the specified bandwidth.
[0018] The packet length is chosen such that short packet lengths are used when low latency is required and bandwidth is low. Conversely, long packet lengths are chosen when high latency is required and bandwidth is high. This process is based on the idea that smaller or shorter packets can be transmitted faster, and therefore they are chosen when low latency is required. A low latency requirement corresponds to a numerically low latency requirement; thus, short latencies are required. Generally, a low latency requirement is referred to as a short latency requirement. A low latency requirement demands short latency. A higher or longer latency requirement is expected to result in higher latency. According to the terminology used, a low requirement does not necessarily lead to high latency.Similarly, a high demand does not necessarily lead to a low latency.
[0019] Packet length refers, for example, to the number of available bits per packet. If larger bandwidths are available, longer packet lengths are chosen because larger amounts of data need to be transmitted, which in turn require higher bandwidth. The parameters mentioned above can be further influenced by other factors. For instance, the choice of packet length can also be affected by the total amount of data to be transmitted. Larger data volumes benefit from higher bandwidths and therefore longer packet lengths.
[0020] According to one aspect of the present invention, increasing the packet length reduces the amount of overhead data. This has the advantage that even a so-called excess of data during encoding can be determined, and that the packet length can be influenced depending on the amount of data to be transmitted. For example, if the amount of data to be transmitted increases, a longer packet length can be selected according to the invention than the one initially set. Thus, if it is recognized according to the invention that the excess is too high or can be minimized, the packet length is increased. The so-called excess data is a data amount that does not directly relate to the user data, but rather describes the data necessary for encoding or data transmission.For example, optimizing for a disparity in the data to be transmitted can result in 128 bits being transmitted instead of 112 bits. Since multiples of this amount, or even larger data volumes, may need to be transmitted, the packet length can also be increased.
[0021] According to another aspect of the present invention, the data to be transmitted is 112 bits or a multiple thereof. This has the advantage that the proposed method can be applied particularly efficiently to these data segments. For example, the encodings are especially advantageous for 112-bit wide data segments transmitted in 128-bit symbols. Encoding the full number of bits would result in a rapidly increasing effort and complexity. Here, the data to be transmitted is limited to four packet lengths, and it is therefore easy to create an encoding table that is not as complex as when transmitting packets using a single data length. A single data length would define the bit sequence to be transmitted, which is very long. However, the complexity of finding an encoding for this length increases exponentially.The partial data lengths, for example four lengths, reduce this complexity to a significantly smaller number of coding possibilities. Thus, according to the invention, efficient coding is achieved. Therefore, the coding tables are considerably shorter, or the number of necessary coding rules is significantly reduced, compared to a conventional coding table.
[0022] According to a further aspect of the present invention, a path identifier, a sequence number, a cell type, at least one checksum, at least one payload information, and / or further payload information are transmitted with the bit sequence to be transmitted. This has the advantage that different data fields can be transmitted which describe the virtual path or which contain a sequence number that provides an indication of the order of the packets. In addition, further data fields can be transmitted which indicate whether the data has been transmitted completely, such as a checksum.
[0023] According to another aspect of the present invention, the overhead data is 25 or 37 bits. This has the advantage that a sufficient yet minimal bit length has been found that can encode all possible data that is necessary in addition to the user data load. By way of example, the following should be mentioned: Figure 3Reference was made to a protocol that encodes the first 5 data fields with 25 bits and additionally provides an optional 12-bit checksum. It was empirically determined that these bit lengths are optimal, ensuring that no more bits than necessary are transmitted while still providing all the required information.
[0024] According to a further aspect of the present invention, a stored metric is used that specifies which of the four predefined packet lengths is to be selected. This has the advantage that the metric can store which bandwidth specification or which latency specification leads to which packet length. Thus, the suitable packet lengths can be determined empirically, and the timing of when to use which packet lengths can be dynamically adjusted at runtime. This can be done separately for all up to 128 virtual data paths.
[0025] According to a further aspect of the present invention, the metric specifies the respective packet length, taking into account the bandwidth and / or the packet length to be transmitted. This has the advantage that the packet length to be transmitted is also considered, and a larger packet length is specified for larger data. The packet length to be transmitted is the total packet length to be transmitted, which, according to the invention, is further subdivided into packet lengths of the four named classes.
[0026] According to a further aspect of the present invention, a shorter packet length is selected when bandwidth is low. This has the advantage that the bandwidth is chosen to be sufficient to transmit shorter packet lengths. When packet lengths are shorter, it is typically assumed that a smaller total amount of data needs to be transmitted, and accordingly, a lower bandwidth will also be sufficient.
[0027] According to another aspect of the present invention, a longer packet length is chosen when higher bandwidth is required. This has the advantage that with higher bandwidth requirements, more data, meaning more payload data, is transmitted per header. With a larger packet length and constant header data (overhead), a better data / overhead ratio is achieved. A longer packet length is always advantageous when larger amounts of data need to be transmitted. The larger payload data requires relatively less header data because more payload data is transmitted per header.
[0028] According to a further aspect of the present invention, a short packet length is chosen when less data is to be transmitted, and a long packet length is chosen when a large amount of data is to be transmitted. This has the advantage of reducing the ratio of constant overhead or header data to user data. The packet lengths can thus be selected not only depending on the bandwidth or latency requirements, but also take the size of the data to be transmitted into account. This influences the choice of packet length.
[0029] According to another aspect of the present invention, a stored metric is used that specifies which packet length is selected within which value range of the latency requirement and / or the available bandwidth. This has the advantage that the latency requirements and bandwidths can be classified, and thus the value ranges can be subdivided. Typically, a framework is defined for when a latency requirement or bandwidth is high or low. Within this framework, a classification is then performed, based on which the packet length can be selected from the four classes. The latency requirements and bandwidth always fall within specific framework ranges or value ranges into which the specific value must be placed. Within these value ranges, it can be classified whether the available bandwidth or the latency requirements are low, low to medium, medium to high, or high.Other classifications are also possible, based on which the metric specifies which of the four classes of packet lengths should now be used.
[0030] According to a further aspect of the present invention, a stored metric is used which specifies which packet length is selected for a given latency requirement and bandwidth. This has the advantage of creating a balance between latency requirement and bandwidth, precisely indicating when each packet length is used for each virtual data channel. Thus, the available bandwidth and latency requirements are mapped to a class of four packet lengths. The corresponding packet length is then selected.
[0031] According to another aspect of the present invention, the four predefined payload lengths are 187 bits, 411 bits, 635 bits, and 859 bits. This has the advantage that a constant packet segment length of 112 bits can be used, as well as header data of 25 bits and a checksum of 12 bits. It has been determined according to the invention that 112-bit data can be encoded particularly advantageously with respect to disparity, resulting in 128 bits, and therefore a bit length of 112 bits per packet segment is particularly advantageous. According to the invention, multiples of 112 bits are now transmitted, depending on the amount of data to be transmitted. For a bit length corresponding to a multiple of 112 bits, where the multiple is 2, 4, 6, or 8, the following formula results for 25-bit header data and a 12-bit checksum: 112 Bit * n − 25 − 12 Therefore, selecting one of the four possible data packet lengths results in the aforementioned values of 187, 411, 635, and 859 bits for the user data. This creates a particularly advantageous encoding and corresponds to the four proposed packet lengths.
[0032] According to a further aspect of the present invention, the physical data channel is operated either electrically or optically. This has the advantage that different transmission techniques are possible and yet up to 128 virtual data channels can be set up.
[0033] One aspect of the present invention is to bundle multiple data streams (video, audio, and data) into a single transport frame and transmit them serially. The different data formats not only have different bandwidth requirements but also different latency and bit error rate requirements. In particular, the transmission of today's video data formats requires not only the transmission of the raw video data and its frame information but also support for encryption methods such as HDCP. All of this necessitates many different data channels with widely varying bandwidth, latency, and bit error rate requirements. Furthermore, there is a desire for far more complex network architectures than a simple transmitter-receiver architecture offers. Architectures with multiple repeaters, where data paths can begin and end, and branching (Y) with the possibility of reintegrating data paths into a link, are advantageous.
[0034] According to one aspect of the present invention, the technology follows the basic idea of bundling data from different services, but offers completely new possibilities with regard to network architectures and allows new approaches to the implementation of current video interfaces. Furthermore, it can be used as a universal data transport layer, for example, for transmitting Ethernet or camera data, or any type of sensor data.
[0035] In a virtual path (as in this invention), all packets / cells take the same path, unlike IP, where a packet could reach its destination via different paths than preceding and subsequent packets. Latency over a virtual path is therefore constant.
[0036] Virtual paths based on data cells also have the advantage that they can be used as multiplexing layers for different services (video, audio, Ethernet).
[0037] Virtual paths only consume bandwidth when data is actually being transferred.
[0038] The concept of virtual paths also makes it possible to implement complex and extensive diagnostic and network configuration functions at runtime using dedicated (virtual) data channels.
[0039] According to one aspect of the present invention, a virtual path layer is implemented between the physical layer (serializer and framer) and the various application data interfaces.
[0040] According to one aspect of the present invention, this is used to multiplex the various data paths and support more complex architectures with repeaters and branches. This is essentially done in a sublayer of the virtual path layer of the cell layer.
[0041] According to one aspect of the present invention, another part of the virtual path layer is an application adaptation layer that performs the packetization of video (stream) or, for example, Ethernet (packet) data into the cell format. This application adaptation layer also includes the OAM functions for network diagnostics and management.
[0042] According to one aspect of the present invention, the technology can form the basis for transmitting a variety of data formats via a serial connection in cars (and elsewhere). It thus forms the basis for a new generation of devices.
[0043] The high serial bandwidths necessitate the definition of architectures, cell formats, and interfaces that allow flexible internal data bus widths to adapt the speed of the internal clock system to the capabilities of the chip technology.
[0044] According to one aspect of the present invention, the virtual path layer is the physical layer, which consists of the transmission sublayer and the physical medium sublayer, the cell layer and the application adaptation layer, which includes the segmentation and reassembly sublayer and the functions for adapting the data formats to the appropriate application.
[0045] According to one aspect of the present invention, another part of the virtual path layer is the physical layer. A key function of this layer is to establish the physical connection to other physical layers. This connection is fundamentally bidirectional. Theoretically, this connection can be implemented using a wide variety of media. In practice, two serial differential GBps connections are used. This layer performs line coding, the insertion of empty cells to decouple the cell rate from the connection rate, and the integration of the cell current into the serial frame.
[0046] In the cell layer, the segmented data (cell payloads) from the overlying segmentation and reassembly sublayer are combined with header, VP identifier, and CRC to form complete cells, or cells are CRC-checked, and the payload is passed on to the segmentation and reassembly sublayer. Here, the different cell streams of the application adaptation functions are multiplexed, and the cell payloads are distributed among the application adaptation functions according to the VP identifier. (Infeed / Outfeed)
[0047] According to one aspect of the present invention, multiplexing and demultiplexing of cell currents in repeaters and splitters (forwarding) also takes place in the cell layer.
[0048] According to one aspect of the present invention, the task of the application adaptation functions is to adapt the data of the application interfaces to the format of the cell's user data field and to transmit control information to the other side or to use control information from the other side for adaptation (time generation, frame formation).
[0049] According to one aspect of the present invention, all virtual data paths are unidirectional, i.e., they begin at an initiator and end at one or more destinations. If virtual data paths are logically related, e.g., HDCP for a video channel, and thus form a bidirectional data path, these paths should have the same VP identifiers.
[0050] The virtual data path begins at an initiator and ends at one or more destinations. It is implemented by the cell sublayer and performs the following functions along the virtual path: Add / remove multiplexing VP translation
[0051] The invention enables the realization of up to 128 virtual data paths over a common physical layer (cable / wire). The data paths behave as if they were routed independently over separate wires / cables. Using a single wire and connector system for 128 data paths, instead of 128 wires and connector systems, saves resources (cables, connectors), reduces potential sources of error (mechanical, electrical, EMC), and saves weight in the vehicle.
[0052] Due to cell-based transmission, the latency of data transmission is not linked to the bandwidth of the transmission channel, as is the case with frame-based (TDM) transmission. A data path requiring only a small amount of bandwidth (e.g., HDCP video encryption control) can still be transmitted with the lowest possible latency.
[0053] Furthermore, due to cell-based transmission, data paths only "consume" / require bandwidth when they are actually transmitting data. This is not the case with frame-based (TDM) transmission, as a fixed bandwidth is assigned to each data path.
[0054] To transmit data serially over an electrical or optical medium, the serial data signal must possess certain characteristics. Typically, the signal must be DC-free (the number of zeros and ones must be the same over a specific period) and it must exhibit zero-to-one and vice versa transitions at specific intervals to allow the receiver to synchronize the individual data bits. This is achieved through line coding. The data to be transmitted is encoded accordingly before sending and decoded again after receiving. Encoding the data introduces overhead during transmission. More bits than "pure" data bits must be transmitted. The goal is always to minimize this overhead.
[0055] In the present invention, a 112B / 128B block code was used for this purpose, according to one aspect of the present invention. The developed block code represents a very good compromise between the effort required to generate the code and the resulting overhead.
[0056] Encoding 112-bit data into 128-bit symbols (line code) results in an overhead of 14.28%. For comparison, a common 8B / 10B line code has a 25% overhead.
[0057] At the same time, implementing line code is still very easy using digital logic. Stream data (continuous data stream)
[0058] The Stream Data function combines the intersection of the application clock system and the cell data clock system and the conversion of the data bit width of the application data and the cell data. The cell payload is pre-formatted so that the cell footer and header fit into the first and last cell rows.
[0059] Streamed data is (usually) source-synchronous. Here, the clock domain crossing of the data path from the application clock domain to the Virtual Path Layer clock domain is performed.
[0060] In the transmit direction, a data buffer is provided into which the source-synchronous data is written along with the source clock. The segmentation layer retrieves the data from this buffer as needed to perform the data format conversion into the N-bit wide rows of cells. Frame data (e.g., Hsync, Vsync, DE) is encoded in payload info bits, allowing frame reconstruction at the receiver.
[0061] In the receive direction, the cell data is written from the reassembly sublayer into a data buffer, where the cell row bit width is . Based on the payload info bits, the frame information is reconstructed. The source clock, for example, is regenerated using buffer fill level and clock synthesis.
[0062] If data encryption is required (HDCP), this function encrypts or decrypts the cell data.
[0063] Due to the different types of streamed data, such as audio, video with and without encryption, there can be different implementations of this basic function (e.g., VStream In / Out; AStream In / Out; EncVStream In / Out).
[0064] The interface to the segmentation and reassembly sublayer is the same for all functions. Burst data (discontinuous data stream)
[0065] The burst data function combines clock domain crossing and data bit width conversion of data from the application interface to the N bits of the cell rows. The cell row payload is pre-formatted so that the cell footer and header fit into the first and last cell rows.
[0066] Burst data is (usually) synchronized to an external time and has different identifier signals for direction and data type (address / data / byte enable).
[0067] This data is usually accompanied by control lines to implement a specific protocol.
[0068] In the transmit direction, a data buffer is provided into which the burst data is written with the interface clock. The segmentation layer retrieves the data from this buffer as needed to perform the data format conversion into the N-bit wide rows of cells.
[0069] In the receive direction, the cell data is written from the reassembly sublayer into a data buffer, with the cell row being bit-wide. The interface control signals are then reconstructed based on the payload info bits.
[0070] The payload info bits are used to generate the control signals of the application-specific interfaces or to synchronize the protocol state machines in the application-specific interfaces.
[0071] Due to the different interfaces that provide burst-like data (SPI, I2C, MII), there can be different implementations of this basic function (e.g.: SPIBurst, I2CBurst, MIIBurst).
[0072] Accordingly, there will also be (slightly) different Stream In / Out interfaces, but their structure should be the same.
[0073] The task is also solved by a system arrangement for packet-based transmission of data on up to 128 virtual data paths via a physical data channel of an automobile with deterministic latency, comprising an interface unit set up to read a provided latency specification and a bandwidth specification of the data channel for each virtual data path for transmitting a bit sequence to be transmitted; and an initialization unit set up to set a packet length for each of the 128 data paths taking into account four predefined packet lengths of the bit sequence, wherein the packet length is selected in each case by means of a selection unit such that short packet lengths are used when short latency is required and low available bandwidth is available, and long packet lengths are selected when long latency is required and high available bandwidth is available.
[0074] The task can also be solved by a computer program product with control commands that implement the proposed method or operate the proposed device.
[0075] According to the invention, it is particularly advantageous that the method can be used to operate the proposed devices and units. Furthermore, the proposed devices and equipment are suitable for carrying out the method according to the invention. Thus, each device implements structural features suitable for carrying out the corresponding method. However, these structural features can also be designed as method steps. The proposed method also provides steps for implementing the function of the structural features. In addition, physical components can likewise be provided virtually or in a virtualized form.
[0076] Further advantages, features, and details of the invention will become apparent from the following description, in which aspects of the invention are described in detail with reference to the drawings. The features mentioned in the claims and in the description can each be essential to the invention individually or in any combination. Likewise, the features mentioned above and those further described here can be used individually or in any combination. Functionally similar or identical parts or components are sometimes provided with the same reference numerals. The terms "left," "right," "top," and "bottom" used in the description of the exemplary embodiments refer to the drawings in an orientation with normally legible figure labels or reference numerals.The embodiments shown and described are not to be understood as exhaustive, but rather serve as examples to illustrate the invention. The detailed description is intended to inform those skilled in the art; therefore, known circuits, structures, and methods are not shown or explained in detail in order to avoid complicating the understanding of the present description. The figures show: . Figure 1: a schematic flowchart of a method for initializing a system arrangement for packet-based data transmission according to one aspect of the present invention; Figure 2: a frame format used in the proposed method or system arrangement according to one aspect of the present invention; Figure 3: frame fields used according to one aspect of the present invention; Figures 4A, 4B: metrics that select a length of a bit sequence according to one aspect of the present invention based on latency requirements and available bandwidth; and Figure 5: an exemplary encoding of data segments to symbols, wherein 14 bits are encoded to 16 bits such that the disparity is optimized according to one aspect of the present invention.
[0077] Some of the figures shown here contain parameters which are familiar to the person skilled in the art in their English designation and which are used as parameters and therefore cannot be translated.
[0078] Figure 1Figure 1 shows a schematic flowchart of a method for initializing a system arrangement for packet-based data transmission according to an aspect of the present invention on up to 128 virtual data paths via a physical data channel of an automobile with deterministic latency, comprising reading 100 a provided latency specification and a bandwidth specification of the data channel for each of the virtual data paths for transmitting a bit sequence to be transmitted; and setting 102 a packet length for each of the 128 data paths taking into account four predefined packet lengths of the bit sequence, wherein the packet length is selected 101 such that short packet lengths are used when short latency is required and low available bandwidth is available, and long packet lengths are selected when long latency is required and high available bandwidth is available.
[0079] Figure 2shows a frame format where 112 bits are encoded as 128 bits, resulting in a bit sequence optimized with respect to disparity, as in, for example, Figure 5 As shown, the unencoded data cells are 112 bits and are encoded to 128 bits in such a way that the disparity, i.e., the ratio of zeros to ones, is optimized. Furthermore, the symbol length is limited to 7. This optimizes data transmission so that a corresponding bit sequence can be read particularly efficiently with respect to the clock signal.
[0080] The transmission method combines cell-oriented (packet-oriented) data transmission with a simple frame for synchronizing the sender and receiver. According to one aspect of the present invention, 256 data cells are transmitted, followed by a 128-bit synchronization word. This synchronization word consists of two parts: a 64-bit self-synchronizing LFSR sequence for monitoring the synchronization of the sender and receiver, and a constant 64-bit synchronization pattern for fast synchronization of the sender and receiver. According to another aspect of the present invention, the synchronization pattern is unique within the entire data stream. This is ensured by the selected line coding (see below). The overhead due to synchronization is: 128 bits / (256 * 2 * 128) bits = 0.2% in the worst case and 128 bits / (256 * 8 * 128) bits = 0.05% in the best case.
[0081] According to one aspect of the present invention, the transmission method implements 128 virtual data paths by packing the data to be transmitted from up to 128 data sources into 4 cells of different (configurable) lengths. Each cell is assigned a 7-bit wide address that corresponds 1:1 to the virtual data path.
[0082] According to one aspect of the present invention, a data cell consists of a predefined, constant-length header field with payload data (Cell Header Row), a payload field with configurable length (0, 2*128, 4*128, 6*128) (Cell Payload Row) and a constant-length footer field with payload checksum and payload data.
[0083] Figure 3The figure shows the frame fields that can be transmitted according to the proposed invention. It particularly illustrates the bit lengths of the user data. These are divided into four classes, or four predefined bit lengths, with each virtual data channel transmitting data of this length. In addition to the user data, overhead data is transmitted, which is listed in the table above and / or below the user data. This results in a bit length of 25 bits for the overhead data above the user data, and, as indicated below the user data, a 12-bit checksum can also be transmitted.
[0084] The header field's function is to control data flow through the transmission system. This is achieved using a 7-bit address called the VP (Virtual Path Identifier). Seven bits allow for the unique addressing of 128 different data paths. This is perfectly adequate for an automotive application.
[0085] Another function of the header field is to "mark" the data in the cell. Depending on the data stream or interface, this allows the transmission of framework information such as the start / end of a data stream or burst information like the data packet number. This enables hardware-supported packetizing / depackaging of the data streams, unlike Ethernet, for example, where this task must be solved entirely in software. Hardware-supported packetizing / depackaging reduces the overhead for this task to a minimum, in this case, 3 bits of payload information (PI).
[0086] Another function of the header field is to effectively encode the length of the data field. This is done using 2-bit CT (Cell Type).
[0087] The 4 different packet lengths were chosen to efficiently implement different bandwidth and latency requirements on the one hand, but to minimize the necessary control effort on the other (2 bits of cell type info per cell).
[0088] Another function of the header field is to enable hardware-level integrity checking of the data stream. For this purpose, a 3-bit SN (Running Serial Number) is generated for each cell. In other systems (Ethernet), this has to be done in software and is therefore significantly less efficient.
[0089] Due to the central role of the header fields for data flow and data evaluation, the header fields are protected with a 10-bit CRC according to one aspect of the present invention. This achieves a Hamming distance of 5 for a maximum of 21 bits. The header is thus significantly better protected than the data. Since the header has considerably fewer bits than the payload field, it is very efficient. This differs from Ethernet, where data and header are protected with the same (short) polynomial.
[0090] The Figures 4A and 4BThe table shows a selection from the four underlying classes or bit lengths. The predefined packet lengths are listed on the far right, the latency requirements are listed in the left column, and the available bandwidth is shown in the middle. For example, if the latency requirements are low and the available bandwidth is low, a predefined packet length of 187 bits can be selected. Conversely, if the latency requirements are high and the available bandwidth is high, a packet length of 859 bits can be selected. In mixed configurations, the metric can be set according to... Figure 4A can be selected or the metric according to Figure 4B Thus, with low latency requirements and high bandwidth, either 411 bits or 635 bits can be selected. The same applies to high latency requirements and low available bandwidth, where either 635 bits or 411 bits can be selected.
[0091] Figure 5Figure 1 shows an example of how 14 bits can be encoded into 16 bits in such a way that the disparity of the resulting data stream is optimized. Since an optimized disparity is advantageous for data transmission, 112 bits are encoded into 128 bits according to one aspect of the present invention. Accordingly, the absolute values in the proposed technical teaching were also determined empirically.
[0092] Here, "cells" is used synonymously with "frames" or "frames." These can also refer to packages. Cell format / frame format
[0093] According to one aspect of the present invention, the cell consists of a header with a fixed bit length, a payload area with 4 selectable bit lengths and a footer again with a fixed bit length.
[0094] The cell structure is a sequence of bits as follows: A 7-bit virtual path identifier (VP) representing a unique address of the virtual path. A 3-bit sequence number (SN) sequentially numbers the cells. A 2-bit Cell Type (CT) identifier specifying the length of the payload data. A 3-bit Payload Information (PI) field containing additional information about the payload. This can also be used for synchronizing payload data with frame or control data. A 10-bit high-precision correction polynomial (HCRC) for error protection of the header information. The polynomial has a Hamming distance of 5 up to a bit sequence of 21 bits (P=0x2B9). The payload (PL) area has a length of 187, 411, 635, or 859 bits, depending on the CT value. The shortest payload is chosen so that it is still larger than the maximum supported (video) streaming bus width. (Should simplify the mapping of power data to cell payload).Finally, a 12-bit CRC polynomial (PCRC) is used for error protection of the user data. The polynomial has a Hamming distance of 4 up to a bit sequence of 2035 bits (P=0x8F3). Format of the transmission frames
[0095] According to one aspect of the present invention, the transmission frame consists of a sequence of M-bit wide words. The frame begins with an M-bit wide "comma" word from a defined sequence of comma words for frame alignment. This is followed by K cells. The cells consist of 2, 4, 6, or 8 N-bit wide words carrying the header, payload, and footer. These N-bit wide words are encoded into M-bit wide symbols (line encoding).
[0096] This format is chosen to allow the processing of cell data at reasonable time frequencies, provided that the serializer / deserializer always processes a block of M bits.
Claims
1. A method for initialising a system arrangement for packet-based transmission of data on up to 128 virtual data paths via a physical data channel of an automobile with deterministic latency, comprising - a readout (100) of a provided latency time specification and a bandwidth specification of the data channel for in each case all virtual data paths for the transmission of a bit sequence to be transmitted; - setting (102) a packet length for each of the 128 data paths, taking into account four predefined packet lengths of the bit sequence, the packet length being selected (101) in each case such that short packet lengths are used for short latency requirements and low available bandwidth and long packet lengths are selected for long latency requirements and high available bandwidth.
2. The method according to claim 1, characterised in that the amount of overhead data is reduced by increasing the packet length.
3. The method according to claim 1 or 2, characterised in that the data to be transmitted is n * 112 bits +187.
4. The method according to one of the preceding claims, characterised in that a path identifier, a sequence number, a cell type, at least one checksum, at least one user data information item and / or a further user data information item are transmitted with the bit sequence to be transmitted.
5. The method according to one of the preceding claims, characterised in that the overhead data is 25 or 37 bits.
6. The method according to one of the preceding claims, characterised in that a stored metric is used which indicates which of the four predefined packet lengths is to be selected.
7. The method according to claim 6, characterised in that the metric designates the respective packet length and takes into account the bandwidth and / or the packet length to be transmitted.
8. The method according to one of the preceding claims, characterised in that a shorter packet length is selected for low bandwidth.
9. The method according to one of the preceding claims, characterised in that a longer packet length is selected for a higher bandwidth.
10. The method according to one of the preceding claims, characterised in that a short packet length is selected for a low number of data to be transmitted and a long packet length is used for a high number of data to be transmitted.
11. The method according to one of the preceding claims, characterised in that a stored metric is used which indicates which packet length is selected in which value range of the latency requirement and / or the available bandwidth.
12. The method according to one of the preceding claims, characterised in that a stored metric is used which indicates at which latency requirement and which bandwidth which packet length is selected.
13. The method according to one of the preceding claims, characterised in that the four predefined packet lengths are 187 bits, 411 bits, 635 bits and 859 bits.
14. The method according to one of the preceding claims, characterised in that the physical data channel is operated either electrically or optically.
15. A system arrangement for packet-based transmission of data on up to 128 virtual data paths via a physical data channel of an automobile with deterministic latency, comprising - an interface unit set up to read out (100) a provided latency specification and a bandwidth specification of the data channel for all virtual data paths for the transmission of a bit sequence to be transmitted; - an initialisation unit set up for setting (102) a packet length for each of the 128 data paths, taking into account four predefined packet lengths of the bit sequence, the packet length being selected (101) in each case by means of a selection unit in such a way that short packet lengths are used for short latency requirements and low available bandwidth and long packet lengths are selected for long latency requirements and high available bandwidth.
16. A computer program product comprising instructions which, when the program is executed by at least one computer, cause the computer to perform the steps of the method according to any one of claims 1 to 14.
17. A computer readable storage medium comprising instructions which, when executed by at least one computer, cause the computer to perform the steps of the method according to any one of claims 1 to 14.