First communication device, second communication device, and communication system

The communication system addresses latency issues by converting low-speed packets to high-speed packets and back, enhancing data transmission speed and accuracy in control systems.

JP2025139319APending Publication Date: 2025-09-26MEGACHIPS
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024038180
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-03-12
Publication Date
2025-09-26

AI Technical Summary

Technical Problem

Existing communication systems experience latency issues in transmitting and receiving control data and sensor data, which is critical for systems controlling target objects like robots, leading to inaccurate control.

Method used

A communication system utilizing high-speed and low-speed packet transmission methods, where high-speed packets are generated from low-speed packets, and restored back to low-speed packets, reducing latency through conversion units and interfaces.

Benefits of technology

The system effectively reduces latency from the start of reception to transmission of packets, ensuring rapid and accurate data exchange.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025139319000001_ABST
    Figure 2025139319000001_ABST
Patent Text Reader

Abstract

To provide a technique that enables reduction of the latency from the start of reception of a second packet to the start of transmission of a first packet.SOLUTION: A first communication device transmits first packets at a first transmission rate and includes a first interface, a generator, and a second interface. The first interface receives second packets transmitted at a second transmission rate lower than the first transmission rate. The generator sequentially generates first packets including the data body including the second bit group each time the first interface receives a second bit group, which is a first bit group to be transmitted and included in the second packet, and has a number of bits smaller than the number of bits of the data body that can be included in the first packet. The second interface sequentially transmits the first packets each time the generator generates the first packet.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to communications technology. [Background technology]

[0002] Patent Document 1 discloses a technology relating to power line communication. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2007-15061 Summary of the Invention [Problem to be solved by the invention]

[0004] For example, systems that control target objects, such as robots, require rapid response. Therefore, it is desirable to transmit and receive generated control data and sensor data indicating the control results without delay, ensuring accurate control. However, delays in data transmission and reception, or latency, are a problem in such systems.

[0005] Therefore, the present disclosure has been made in consideration of the above points, and aims to provide a technology that can reduce latency. [Means for solving the problem]

[0006] One aspect of a first communication device transmits first packets at a first transmission rate and includes a first interface, a generator, and a second interface. The first interface receives second packets transmitted at a second transmission rate lower than the first transmission rate. The generator generates first packets each time the first interface receives a second bit group, which is a first bit group to be transmitted and included in the second packet, and has a number of bits smaller than the number of bits of the data body that can be included in the first packet. The second interface transmits the first packets each time the generator generates a first packet.

[0007] Also, one aspect of the second communication device includes a third interface, a restoration unit, and a fourth interface. The third interface receives the first packets sequentially transmitted by the first communication device. The restoration unit generates restored second packets by restoring the second packets based on the first packets sequentially received by the third interface. The fourth interface transmits the restored second packets.

[0008] Also, one aspect of a communication system includes the above-described first communication device and the above-described second communication device. [Effects of the Invention]

[0009] The latency from the start of reception of the second packet to the start of transmission of the first packet can be reduced. [Brief explanation of the drawings]

[0010] [Figure 1] FIG. 1 is a schematic diagram illustrating an example of the configuration of a processing system. [Figure 2] FIG. 1 is a schematic diagram illustrating an example of a configuration of a communication system. [Figure 3] FIG. 4 is a schematic diagram illustrating an example of the configuration of a first packet. [Figure 4] FIG. 10 is a schematic diagram illustrating an example of the configuration of a second packet. [Figure 5] FIG. 2 is a schematic diagram illustrating an example of the configuration of a generation unit. [Figure 6] FIG. 2 is a schematic diagram illustrating an example of the configuration of a packet generation unit. [Figure 7] FIG. 2 is a schematic diagram illustrating an example of the configuration of a data body. [Figure 8] FIG. 2 is a schematic diagram illustrating an example of the configuration of a restoration unit. [Figure 9] FIG. 2 is a schematic diagram illustrating an example of the configuration of a data body acquisition unit. [Figure 10] FIG. 1 is a schematic diagram illustrating an example of the operation of a communication system. [Figure 11] FIG. 1 is a schematic diagram illustrating an example of the operation of a communication system. [Figure 12] FIG. 1 is a schematic diagram illustrating an example of the operation of a communication system. [Figure 13] FIG. 10 is a schematic diagram for explaining an example of an operation of a generating unit. [Figure 14] FIG. 10 is a schematic diagram for explaining an example of an operation of a generating unit. [Figure 15] FIG. 10 is a schematic diagram for explaining an example of an operation of a generating unit. [Figure 16] FIG. 10 is a schematic diagram for explaining an example of an operation of a generating unit. DETAILED DESCRIPTION OF THE INVENTION

[0011] <Outline of an example of a processing system> Fig. 1 is a schematic diagram showing an example of a processing system 1. As shown in Fig. 1, the processing system 1 includes, for example, a processing unit 2A, a processing unit 2B, and a communication system 5 capable of communicating with the processing unit 2A and the processing unit 2B.

[0012] The processing unit 2A and the processing unit 2B are located, for example, at separate locations. The processing unit 2A and the processing unit 2B can communicate with each other through a communication system 5. Each of the processing unit 2A and the processing unit 2B can also be referred to as, for example, a communication unit or a communication device. The processing unit 2A and the processing unit 2B can communicate with each other, for example, using a command-response method. The processing unit 2A can, for example, transmit command data indicating a command to the processing unit 2B through the communication system 5. In response to receiving the command data from the processing unit 2A, the processing unit 2B can transmit response data indicating a response to the processing unit 2A through the communication system 5. The communication system 5 functions, for example, as a bridge system connecting the processing unit 2A and the processing unit 2B to each other.

[0013] The processing unit 2A may be, for example, a control device that controls a power supply unit (which may also be referred to as a power supply device) that supplies power to a load located near the processing unit 2B. In this case, the processing unit 2B may be a sensor device that detects the state of the load. For example, if the load is a motor, the sensor device serving as the processing unit 2B may include an encoder that detects the rotation angle of the motor. In this case, the processing unit 2A may transmit command data requesting the detection result of the encoder, and the processing unit 2B may transmit response data indicating the detection result of the encoder. The processing unit 2A may control the motor serving as a load through the power supply unit by controlling the power supply unit based on the detection result of the encoder indicated by the received response data. For example, if the load is a three-phase motor, the power supply unit may include an inverter circuit that supplies three-phase power to the three-phase motor. Each of the processing units 2A and 2B may be, for example, a processing device.

[0014] The communication system 5 includes, for example, a communication device 10A and a communication device 10B located at locations distant from each other. The communication device 10A is located, for example, near a processing unit 2A and can communicate with the processing unit 2A, and the communication device 10B is located, for example, near a processing unit 2B and can communicate with the processing unit 2B. The communication device 10A and the communication device 10B can communicate with each other.

[0015] The communication device 10A receives the command data transmitted by the processing unit 2A and transmits the received command data to the communication device 10B. The communication device 10B transmits the command data received from the communication device 10A to the processing unit 2B. As a result, the command data transmitted by the processing unit 2A is input to the processing unit 2B via the communication system 5.

[0016] The communication device 10B receives the response data transmitted by the processing unit 2B and transmits the received response data to the communication device 10A. The communication device 10A transmits the response data received from the communication device 10B to the processing unit 2A. As a result, the response data transmitted by the processing unit 2B is input to the processing unit 2A via the communication system 5.

[0017] Hereinafter, when there is no need to distinguish between the communication device 10A and the communication device 10B, they will each be referred to as the communication device 10. Furthermore, when there is no need to distinguish between the processing unit 2A and the processing unit 2B, they will each be referred to as the processing unit 2.

[0018] The communication device 10A and the communication device 10B can perform, for example, power line communication (PLC). The communication device 10A and the communication device 10B are connected to each other, for example, by a power line. The power line connecting the communication device 10A and the communication device 10B may be a power line that transmits power output from a power supply unit controlled by the processing unit 2A to a load such as a motor.

[0019] Communication device 10A and communication device 10B can exchange first packets with each other. A first packet is a unit of data transmission between communication device 10A and communication device 10B, and is made up of multiple bits. Communication device 10A performs data communication with communication device 10B in first packet units. After transmitting one first packet, each communication device 10 transmits the next first packet after a time interval. The first packets flow through a transmission path (e.g., a power line) between communication device 10A and communication device 10B.

[0020] The communication device 10 transmits a first packet at a first transmission rate. The first transmission rate may be, for example, 100 Mbps or higher. For example, the first transmission rate may be 120 Mbps or another value. bps is an abbreviation for bits per second. The transmission rate may be called, for example, a transfer rate or a bit rate.

[0021] The processing unit 2A and the communication device 10A can perform, for example, serial communication. The processing unit 2B and the communication device 10B can perform, for example, serial communication. The communication method between the processing unit 2A and the communication device 10A and the communication method between the processing unit 2B and the communication device 10B are, for example, the same. The processing unit 2A and the communication device 10A are connected to each other, for example, by a wire. The processing unit 2B and the communication device 10B are connected to each other, for example, by a wire.

[0022] The processing unit 2A and the communication device 10A can exchange second packets with each other. The processing unit 2B and the communication device 10B can exchange second packets with each other. The second packet is a unit of data transmission between the processing unit 2 and the communication device 10, and is composed of multiple bits. The second packet has a different structure from the first packet. The processing unit 2 performs data communication with the communication device 10 in second packet units.

[0023] The processing unit 2A transmits a second packet including command data to the communication device 10A, and the processing unit 2B transmits a second packet including response data to the communication device 10B. After transmitting one second packet, each processing unit 2 transmits the next second packet after a time interval. The second packets flow through a transmission path (e.g., an electric wire) between the processing unit 2 and the communication device 10.

[0024] The processing unit 2 transmits the second packet at a second transmission rate that is lower than the first transmission rate. The second transmission rate may be equal to or less than one-tenth or one-hundredth of the first transmission rate. The second transmission rate may be, for example, 1 Mbps, or may be another value.

[0025] Hereinafter, the first packet may be referred to as a high-speed packet, and the second packet may be referred to as a low-speed packet. The first transmission rate may be referred to as a high-speed transmission rate, and the second transmission rate may be referred to as a low-speed transmission rate. A communication method using high-speed packets may be referred to as a high-speed communication method. A communication method using low-speed packets may be referred to as a low-speed communication method. In this example, a PLC method is used as the high-speed communication method, and a serial communication method is used as the low-speed communication method.

[0026] The communication device 10A and the communication device 10B have, for example, the same configuration. The communication device 10A has a conversion unit 11A, and the communication device 10B has a conversion unit 11B. The conversion unit 11A converts a low-speed packet received by the communication device 10A into, for example, a plurality of high-speed packets. The conversion unit 11A also converts a plurality of high-speed packets received by the communication device 10A into low-speed packets. Similarly, the conversion unit 11B converts a low-speed packet received by the communication device 10B into, for example, a plurality of high-speed packets. The conversion unit 11B also converts a plurality of high-speed packets received by the communication device 10B into low-speed packets.

[0027] The conversion unit 11A converts the low-speed packets containing command data received by the communication device 10A into a plurality of high-speed packets containing command data. The communication device 10A then transmits the plurality of high-speed packets obtained by the conversion unit 11A to the communication device 10B. The conversion unit 11B converts the plurality of high-speed packets containing command data received by the communication device 10B into low-speed packets containing command data. The communication device 10B then transmits the low-speed packets obtained by the conversion unit 11B to the processing unit 2B. It can also be said that the communication system 5 relays the low-speed packets transmitted by the processing unit 2A and transmits them to the processing unit 2B.

[0028] Furthermore, the conversion unit 11B converts the low-speed packets containing response data received by the communication device 10B into multiple high-speed packets containing the response data. Then, the communication device 10B transmits the multiple high-speed packets obtained by the conversion unit 11B to the communication device 10A. The conversion unit 11A converts the multiple high-speed packets containing response data received by the communication device 10A into low-speed packets containing the response data. Then, the communication device 10A transmits the low-speed packets obtained by the conversion unit 11A to the processing unit 2A. It can also be said that the communication system 5 relays the low-speed packets transmitted by the processing unit 2B and transmits them to the processing unit 2A. Hereinafter, when there is no need to distinguish between the conversion unit 11A and the conversion unit 11B, they will each be referred to as the conversion unit 11.

[0029] The low-speed communication method and the high-speed communication method are not limited to the above examples, and the functions of the processing unit 2A and the processing unit 2B are not limited to the above examples.

[0030] <Example of communication device configuration> 2 is a schematic diagram showing an example of the configuration of communication device 10A and communication device 10B. Each of communication device 10A and communication device 10B is realized, for example, by a hardware circuit that does not require software to realize its functions. Each of communication device 10A and communication device 10B can also be considered, for example, a communication circuit.

[0031] 2, the communication device 10A includes, for example, a conversion unit 11A, an interface 12A, and an interface 13A. The conversion unit 11A includes, for example, a generation unit 20A and a restoration unit 30A. The communication device 10B includes, for example, a conversion unit 11B, an interface 12B, and an interface 13B. The conversion unit 11B includes, for example, a generation unit 20B and a restoration unit 30B.

[0032] Hereinafter, for convenience of explanation, the processing unit 2A side will be referred to as the upper side of the processing system 1, and the low-speed packets transmitted by the processing unit 2A will be referred to as upper-side low-speed packets. Also, for convenience of explanation, the processing unit 2B side will be referred to as the lower side of the processing system 1, and the low-speed packets transmitted by the processing unit 2B will be referred to as lower-side low-speed packets. Also, the high-speed packets generated by the communication device 10A based on the upper-side low-speed packets will be referred to as upper-side high-speed packets. Also, the high-speed packets generated by the communication device 10B based on the lower-side low-speed packets will be referred to as lower-side high-speed packets.

[0033] The interface 12A can communicate with the processing unit 2A. The interface 12A is connected to the processing unit 2A by, for example, an electric wire. The interface 12A receives an upper-side low-speed packet from the processing unit 2A. The processing unit 2A transmits the upper-side low-speed packet, for example, as a differential signal. The interface 12A converts the received differential signal into a single-ended signal. Then, the interface 12A outputs the upper-side low-speed packet to the generation unit 20A as a single-ended signal.

[0034] The generation unit 20A sequentially generates a plurality of upper-side high-speed packets based on the upper-side low-speed packets received by the interface 12A. The interface 13A can communicate with the interface 13B of the communication device 10B. Each time the generation unit 20A generates an upper-side high-speed packet, the interface 13A sequentially outputs the upper-side high-speed packet to the interface 13B of the processing unit 2B. For example, the interface 13A performs modulation processing based on the upper-side high-speed packet and transmits a modulated signal including the upper-side high-speed packet. For example, the interface 13A is connected to the interface 13B via a power line and superimposes the modulated signal on the power line.

[0035] The interface 12B can communicate with the processing unit 2B. The interface 12B is connected to the processing unit 2B by, for example, an electric wire. The interface 12B receives the lower-side low-speed packet from the processing unit 2B. The processing unit 2B transmits the lower-side low-speed packet, for example, as a differential signal. The interface 12B converts the received differential signal into a single-ended signal. Then, the interface 12B outputs the lower-side low-speed packet to the generation unit 20B as a single-ended signal.

[0036] The generation unit 20B sequentially generates a plurality of lower-side high-speed packets based on the lower-side low-speed packets received by the interface 12B. Each time the generation unit 20B generates a lower-side high-speed packet, the interface 13B sequentially transmits the lower-side high-speed packet to the interface 13A of the processing unit 2A. The interface 13B, for example, performs modulation processing based on the lower-side high-speed packets and transmits a modulated signal including the lower-side high-speed packets. The interface 13B superimposes the modulated signal including the lower-side high-speed packets onto the power line.

[0037] The interface 13B receives the upper side high-speed packets sequentially transmitted by the interface 13A of the communication device 10A. The interface 13B extracts the modulated signal including the upper side high-speed packets transmitted by the interface 13A from the power line, and performs demodulation processing on the extracted modulated signal to obtain the upper side high-speed packets. The restoration unit 30B restores the upper side low-speed packets based on the upper side high-speed packets sequentially received by the interface 13B. The interface 12B transmits the upper side low-speed packets restored by the restoration unit 30B (also referred to as restored upper side low-speed packets) to the processing unit 2B, for example, as differential signals. This allows the processing unit 2B to receive the upper side low-speed packets transmitted by the processing unit 2A via the communication system 5. In other words, the restoration unit 30B generates restored upper side low-speed packets by restoring the upper side low-speed packets based on the upper side high-speed packets sequentially received by the interface 13B.

[0038] The interface 13A receives the lower side high-speed packets sequentially transmitted by the interface 13B. The interface 13A extracts the modulated signal including the lower side high-speed packets transmitted by the interface 13B from the power line, and performs demodulation processing on the extracted modulated signal to obtain the lower side high-speed packets. The restoration unit 30A restores the lower side low-speed packets based on the lower side high-speed packets sequentially received by the interface 13A. The interface 12A transmits the lower side low-speed packets restored by the restoration unit 30A (also referred to as restored lower side low-speed packets) to the processing unit 2A, for example, as a differential signal. This allows the processing unit 2A to receive the lower side low-speed packets transmitted by the processing unit 2B via the communication system 5. In other words, the restoration unit 30A generates restored lower side low-speed packets by restoring the lower side low-speed packets based on the lower side high-speed packets sequentially received by the interface 13A.

[0039] Hereinafter, when there is no need to distinguish between generation units 20A and 20B, they will each be referred to as generation units 20. When there is no need to distinguish between restoration units 30A and 30B, they will each be referred to as restoration units 30. When there is no need to distinguish between interfaces 12A and 12B that transmit and receive low-speed packets, they will each be referred to as interfaces 12. When there is no need to distinguish between interfaces 13A and 13B that transmit and receive high-speed packets, they will each be referred to as interfaces 13.

[0040] <Example of high-speed packet configuration> FIG. 3 is a schematic diagram showing an example of the configuration of a high-speed packet PK1. The high-speed packet PK1 includes, for example, a data area 101 and associated data 105 associated with the data area 101. The data area 101 includes a data body 100. The data area 101 is data obtained by performing a predetermined process on the data body 100. The predetermined process includes, for example, encoding and interleaving, as will be described later. The data length of the data area 101 is greater than the data length of the original data body 100. The data area 101 can also be said to be the data body 100 after the predetermined process has been performed. The data body 100 may be called, for example, a payload or actual data.

[0041] The associated data 105 includes, for example, a preamble 106 and a synchronization word 107 added before the data area 101, and a postamble 108 added after the data area 101. The preamble 106 is a bit string for synchronizing with the high-speed packet PK1. The synchronization word 107 is a bit string for identifying the beginning of the data area 101. The postamble 108 is a bit string for identifying the end of the data area 101.

[0042] <Example of low-speed packet configuration> FIG. 4 is a schematic diagram showing an example of the configuration of a low-speed packet PK2. As shown in FIG. 4, the low-speed packet PK2 is made up of, for example, A blocks BL (A is an integer equal to or greater than 2). Each block BL is made up of, for example, a bit string made up of multiple bits. In the example of FIG. 4, each block BL is made up of 10 bits. For example, when A=32, the low-speed packet PK2 is made up of 320 bits. In other words, the data length of the low-speed packet PK2 is 320 bits.

[0043] Each block BL conforms to, for example, a UART frame. UART is an abbreviation for Universal Asynchronous Receiver Transmitter. The multiple bits that make up a block BL are, for example, composed of a start bit, a stop bit, and a data bit string consisting of multiple data bits. For example, the start bit indicates "0" (in other words, low level), and the stop bit indicates "1" (in other words, high level). The data bit string is, for example, composed of 8 data bits.

[0044] In the low-speed packet PK2, the first block BL constitutes the header 205, and the remaining (A-1) blocks BL constitute the data body 200. The data body 200 is made up of at least one block BL.

[0045] The data body 200 included in the upper side low-speed packet PK2 contains command data. More specifically, the data bit strings of the (A-1) blocks BK constituting the data body 200 included in the upper side low-speed packet PK2 indicate command data. The data body 200 included in the lower side low-speed packet PK2 contains response data. More specifically, the data bit strings of the (A-1) blocks BK constituting the data body 200 included in the lower side low-speed packet PK2 indicate response data. The number of blocks BL constituting the lower side low-speed packet PK2 containing response data is greater than the number of blocks BL constituting the upper side low-speed packet PK2 containing command data, for example.

[0046] The header 205 includes, for example, a synchronization code and an ID code. ID is an abbreviation for identification. The data bit strings included in the block BL that makes up the header 205 constitute the synchronization code and the ID code. For example, the synchronization code is made up of 3 bits, and the ID code is made up of 5 bits. The synchronization code is a bit string for synchronizing with the low-speed packet PK2. The ID code is a bit string for specifying the data length of the low-speed packet PK2. The ID code can also be said to be a bit string for specifying the number of bits that make up the low-speed packet PK2.

[0047] In this example, the communication device 10 divides a first bit group to be transmitted, among the multiple bits constituting the low-speed packet input from the processing unit 2, into multiple high-speed packets and transmits them to the other communication device 10. The first bit group to be transmitted (also referred to as the bit group to be transmitted) is, for example, a data bit string of A blocks BL constituting the low-speed packet. The bit group to be transmitted is composed of A data bit strings. When A=32, the number of bits in the bit group to be transmitted is 256 bits (=32×8 bits). The communication device 10 receiving multiple high-speed packets from the other communication device 10 adds a start bit and a stop bit to each of the A data bit strings constituting the first bit group included in the multiple high-speed packets to restore the low-speed packet composed of A blocks BL. Then, the communication device 10 transmits the restored low-speed packet (also referred to as the restored low-speed packet) to the processing unit 2. Hereinafter, the low-speed packet to be restored may be referred to as the original low-speed packet.

[0048] Here, the number of bits of the data body 100 that can be included in a high-speed packet is sometimes referred to as the data body bit count. The data body bit count can also be considered the data length of the data body 100. Each time the interface 12 receives a second bit group, which has a smaller number of bits than the data body bit count, among the first bit groups to be transmitted included in a low-speed packet input to the communication device 10, the generation unit 20 of the communication device 10 sequentially generates a high-speed packet including a data body 100 including a header and the second bit group. Each time the generation unit 20 generates a high-speed packet, the interface 13 sequentially transmits the high-speed packet. The number of bits of the multiple second bit groups included in each of the multiple high-speed packets transmitted by the interface 13 may or may not be the same. It can also be considered that the first bit group to be transmitted includes multiple second bit groups.

[0049] The generation unit 20A sequentially generates an upper side high-speed packet including a header and a data body 100 including the second bit group each time the interface 12A receives a second bit group in a specific first bit group to be transmitted that is included in the upper side low-speed packet. The interface 13A sequentially transmits the upper side high-speed packet to the interface 13B of the communication device 10B each time the generation unit 20A generates an upper side high-speed packet.

[0050] The generation unit 20B sequentially generates a lower side high-speed packet including a header and a data body 100 including the second bit group each time the interface 12B receives a second bit group in a specific first bit group to be transmitted that is included in a lower side low-speed packet. The interface 13B sequentially transmits the lower side high-speed packet to the interface 13A of the communication device 10A each time the generation unit 20B generates a lower side high-speed packet.

[0051] For example, consider a case where the number of bits in the data body is 512 bits and the number of bits in the first bit group is 256 bits. In this case, the number of bits in the second bit group may be set to, for example, 40 bits, which is smaller than 256 bits. In this case, the communication device 10 sequentially transmits the 256-bit first bit group by including 40 bits in high-speed packets. However, the second bit group included in the last transmitted high-speed packet will be the remaining 16 bits that have not been transmitted, rather than 40 bits.

[0052] When the interface 12 receives the first 40 bits (in other words, the first second bit group) of the 256-bit first bit group, the generation unit 20 generates a data body 100 including the received 40 bits and a header.The generation unit 20 then generates a high-speed packet including the generated data body 100 and outputs it to the interface 13.The interface 13 transmits the input high-speed packet.

[0053] Furthermore, when the interface 12 receives the next 40 bits (in other words, the second bit group from the beginning) of the 256-bit first bit group, the generator 20 generates a data body 100 including the received 40 bits and a header. The generator 20 then generates a high-speed packet including the generated data body 100 and outputs it to the interface 13.

[0054] Furthermore, when the interface 12 receives the next 40 bits (in other words, the third second bit group from the beginning) of the 256-bit first bit group, the generator 20 generates a data body 100 including the received 40 bits and a header. The generator 20 then generates a high-speed packet including the generated data body 100 and outputs it to the interface 13. Thereafter, the generator 20 operates in the same manner until all of the 256-bit first bit group is transmitted from the interface 13. Note that the seventh high-speed packet transmitted by the interface 13 will include the last 16 bits of the first bit group. In other words, the first to sixth high-speed packets will include a 40-bit second bit group, but the seventh high-speed packet will include a 16-bit second bit group.

[0055] Hereinafter, the number of high-speed packets required to transmit all of the first bit groups to be transmitted contained in the low-speed packets will be represented by N. N is an integer equal to or greater than 2. The communication device 10 divides the first bit groups to be transmitted of the received low-speed packets into N high-speed packets and transmits them sequentially. The N high-speed packets each contain A data bit strings. The N second bit groups contained in each of the N high-speed packets constitute A data bit strings. The low-speed packet contains N second bit groups. By receiving N high-speed packets, the communication device 10 can receive the A data bit strings (in other words, N second bit groups) contained in the low-speed packets.

[0056] The restoration unit generates restored low-speed packets by restoring the original low-speed packets based on the high-speed packets sequentially received by the interface 13. The interface 12 transmits the restored low-speed packets generated by the restoration unit 30 to the processing unit 2. The interface 13 sequentially receives high-speed packets including a second bit group that is part of the low-speed packets, thereby sequentially receiving the data bit strings of the low-speed packets. Each time the interface 13 receives a data bit string, the restoration unit 30 adds a start bit and a stop bit to the data bit string to restore one block BL. The restoration unit 30 sequentially restores A blocks BL. Each time the restoration unit 30 restores a block BL, the interface 12 transmits the restored block BL (also referred to as a restored block). As a result, A restored blocks are continuously transmitted from the interface 12, and the restored low-speed blocks are transmitted.

[0057] <Configuration example of a generation unit included in a conversion unit of a communication device> 5 is a schematic diagram showing an example of the configuration of the generation unit 20A and the generation unit 20B. The configurations of the generation unit 20A and the generation unit 20B are, for example, the same as each other. As shown in FIG. 5, the generation unit 20 includes, for example, a packet processing unit 21, a buffer 23, a write control unit 24, a read control unit 25, a data body generation unit 26, a packet generation unit 27, and a header generation unit 28. Each of these components included in the generation unit 20 is realized, for example, by a hardware circuit that does not require software to realize its function.

[0058] The multiple bits that make up the low-speed packet received by the interface 12 are input one bit at a time in order from the beginning to the generation unit 20. In other words, the multiple bits that make up the low-speed packet are output one bit at a time from the interface 12 in order from the beginning.

[0059] The generating unit 20 operates, for example, based on a clock signal having a frequency that is at least twice the numerical value of the high-speed transmission rate (i.e., the transmission rate of high-speed packets). It can also be said that the operating frequency (in other words, the clock frequency) of the generating unit 20 is set to a frequency that is at least twice the numerical value of the high-speed transmission rate (e.g., 120M). The generating unit 20 operates, for example, based on a clock signal of 240MHz.

[0060] The packet processing unit 21 processes low-speed packets received by the interface 12. A plurality of bits constituting the low-speed packet received by the interface 12 are input to the packet processing unit 21 bit by bit in order from the beginning. The packet processing unit 21 performs predetermined processing, for example, based on the header 205 (i.e., the first block BL) input to the generation unit 20. The packet processing unit 21 also acquires second bit groups included in the data body 100 input to the generation unit 20. N second bit groups are input sequentially to the generation unit 20. The packet processing unit 21 sequentially acquires the second bit groups input sequentially to the generation unit 20. The second bit groups sequentially acquired by the packet processing unit 21 are written sequentially to the buffer 23. The packet processing unit 21 sequentially outputs each bit of the N second bit groups to the buffer 23 bit by bit.

[0061] The buffer 23 is, for example, a FIFO buffer. FIFO is an abbreviation for First In First Out. The write control unit 24 controls writing of data to the buffer 23. The write control unit 24 outputs, for example, a write pointer to the buffer 23. The write control unit 24 controls the write pointer to sequentially write each bit output by the packet processing unit 21 into the buffer 23.

[0062] The read control unit 25 controls the reading of data from the buffer 23. The read control unit 25, for example, outputs a read pointer to the buffer 23. The read control unit 25 controls the read pointer to sequentially read the second bit group from the buffer 23. The read control unit 25 reads a bit from the buffer 23 every time a bit included in the second bit group is written to the buffer 23. For example, the read control unit 25 starts reading bits from the buffer 23 immediately after writing of the bits of the second bit group to the buffer 23 starts. In other words, the read control unit 25 starts reading bits from the buffer 23 immediately after the first bit of the N second bit groups is written to the buffer 23. It can also be said that the read control unit 25 starts reading bits from the buffer 23 in response to writing of the first bit to the buffer 23. The read control unit 25 can recognize that bits have been written to the buffer 23 by monitoring the write pointer output by the write control unit 24. The N bits of the second bit group that are read out bit by bit from the buffer 23 are input to the data body generator 26 bit by bit in sequence.

[0063] The header generation unit 28 generates a header (also called a high-speed header) to be included in the data body 100 based on the result of processing based on the header 205 in the packet processing unit 21. An example of the configuration of the high-speed header will be described in detail later. Hereinafter, the header 205 will also be called a low-speed header 205.

[0064] Data body generator 26 generates data body 100 including second bit groups read from buffer 23 and a high-speed header generated by header generator 28. Every time a second bit group is output from buffer 23, which outputs one bit for each of N second bit groups, data body generator 26 generates data body 100 including the second bit group and a high-speed header. In other words, every time a second bit group is completed, data body generator 26 generates data body 100 including the second bit group and a high-speed header.

[0065] The data body generator 26 places a high-speed header at the beginning of the data body 100, and places a second bit group following the high-speed header. The number of bits in the bit group consisting of the high-speed header and the second bit group is smaller than the number of bits in the data body. The data body generator 26 sequentially generates N data bodies 100 for one low-speed packet. The data bodies 100 sequentially generated by the data body generator 26 are input sequentially to the packet generator 27.

[0066] The packet generator 27 generates a high-speed packet including the data body 100 generated by the data body generator 26. Every time the data body 100 is generated by the data body generator 26, the packet generator 27 generates a high-speed packet including the data body 100. The packet generator 27 sequentially generates N high-speed packets for one low-speed packet. The high-speed packets sequentially generated by the packet generator 27 are input sequentially to the interface 13. The interface 13 sequentially transmits the sequentially input high-speed packets.

[0067] Fig. 6 is a schematic diagram showing an example of the configuration of the packet generator 27. As shown in Fig. 6, the packet generator 27 includes, for example, a 4b5b encoder 27a, an error correction encoder 27b, an interleaver 27c, and an associated data adder 27d.

[0068] The 4b5b encoder 27a performs 4b5b encoding on the data body 100. The 4b5b encoder 27a converts the data body 100 into a 5-bit code, 4 bits at a time. Hereinafter, the 4b5b encoded data body 100 will be referred to as 4b5b encoded data 180.

[0069] The error correction encoder 27b performs error correction encoding on the 4b5b encoded data 180. The error correction encoder 27b performs, for example, BCH encoding on the 4b5b encoded data 180. BCH is an abbreviation for Bose-Chaudhuri-Hocquenghem. The error correction encoder 27b performs BCH encoding, for example, by adding 10 error correction bits (also called redundant bits) to every 5 bits of the 4b5b encoded data 180. This type of BCH encoding is sometimes called BCH(15,5) encoding. If data consisting of the 5 bits included in the 4b5b encoded data 180 and the 10 error correction bits added thereto is called unit encoded data, the unit encoded data has a 3-bit error correction capability. The unit encoded data is also called a BCH code. Hereinafter, the 4b5b encoded data 180 error correction encoded by the error correction encoder 27b will be called error correction encoded data 181. The error correction encoded data 181 includes multiple unit encoded data.

[0070] For example, if the number of bits in the data body is 512, the number of bits in the 4b5b encoded data 180 will be 640. Therefore, the error correction encoded data 181 includes 128 unit encoded data. The number of bits in the error correction encoded data 181 will be 1920 (=128×15) bits.

[0071] The interleaver 27c performs interleaving on the error correction coded data 181. The interleaved error correction coded data 181 becomes the data area 101 to be included in the high-speed packet. The interleaver 27c performs interleaving on the error correction coded data 181 to generate the data area 101.

[0072] The interleaving depth in the interleaver 27c may be, for example, "8." In this case, the interleaver 27c treats eight unit encoded data in the error correction encoded data 181 as a set of target data, and rearranges the bits of the target data for each set of target data. When BCH(15,5) encoding is performed in the error correction encoding unit 27b, even if a 24-bit burst error occurs in the target data after the bit rearrangement, the error can be corrected.

[0073] The associated data adding unit 27d adds associated data 105, including a preamble 106, a synchronization word 107, and a postamble 108, to the data area 101 (i.e., the interleaved error correction coded data 181) generated by the interleaver 27c, to generate a high-speed packet. The high-speed packet generated by the associated data adding unit 27d is input to the interface 13.

[0074] <Example of high-speed header configuration> Of the N second bit groups included in a low-speed packet, the first second bit group input to the generation unit 20 (in other words, the first second bit group received by the interface 12) is called the leading second bit group, and the last second bit group input to the generation unit 20 (in other words, the last second bit group received by the interface 12) is called the last second bit group. Of the N second bit groups included in a low-speed packet, second bit groups other than the leading second bit group and the last second bit group are called middle second bit groups.

[0075] In this example, the N second bit groups included in the low-speed packet basically have the same number of bits. However, depending on the number of bits in the first bit group to be transmitted included in the low-speed packet, the number of bits in the final second bit group may not match the number of bits in the other second bit groups, i.e., the number of bits in the first second bit group and the number of bits in the middle second bit group.

[0076] For example, consider a case where the number of bits in the first bit group (in other words, the bit group to be transmitted) is 256 bits, and the number of bits in each of the first and middle second bit groups is 40 bits. In this case, the number of bits in the last second bit group will be 16 bits, which does not match the number of bits in the other second bit groups. Consider a case where the number of bits in the first bit group is 256 bits, and the number of bits in each of the first and middle second bit groups is 32 bits. In this case, the number of bits in the last second bit group will be 32 bits, which matches the number of bits in the other second bit groups.

[0077] Hereinafter, the number of bits in the first second bit group and the number of bits in the middle second bit group are referred to as the basic number of bits of the second bit group. The number of bits in the last second bit group may differ from the basic number of bits of the second bit group depending on the number of bits in the first bit group.

[0078] Furthermore, the data body 100 including the leading second bit group is called the leading data body 100a, the data body 100 including the final second bit group is called the final data body 100c, and the data body 100 including the intermediate second bit group is called the intermediate data body 100b. Furthermore, the high-speed header included in the leading data body 100a is called the leading header 110a, the high-speed header included in the final data body 100c is called the final header 110c, and the high-speed header included in the intermediate data body 100b is called the intermediate header 110b.

[0079] 7 is a schematic diagram showing an example of a first data body 100a, an intermediate data body 100b, and a final data body 100c. In this example, the first header 110a, the intermediate header 110b, and the final header 110c have different configurations. Each communication device 10 recognizes the configurations of the first header 110a, the intermediate header 110b, and the final header 110c.

[0080] 7, the first header 110a includes, for example, type information 111, format information 112, transmission rate information 113, and data length information 114. The middle header 110b includes, for example, only the type information 111. The final header 110c includes, for example, the type information 111 and bit number specification information 115.

[0081] The type information 111 indicates whether the data body 100 containing the type information 111 is the initial data body 100a, the intermediate data body 100b, or the final data body 100c. Based on the type information 111 contained in the received data body 100, the communication device 10 can identify whether the data body 100 is the initial data body 100a, the intermediate data body 100b, or the final data body 100c.

[0082] Type information 111 is composed of, for example, two bits. For example, if the most significant bit of the two bits constituting type information 111 indicates "1", type information 111 indicates that data body 100 including type information 111 is initial data body 100a. If type information 111 indicates "00", type information 111 indicates that data body 100 including type information 111 is intermediate data body 100b. If type information 111 indicates "01", type information 111 indicates that data body 100 including type information 111 is final data body 100c.

[0083] The transmission rate information 113 indicates the low-speed transmission rate of the low-speed packet. As shown in FIG. 5, the packet processing unit 21 includes a transmission rate acquisition unit 21a that determines the low-speed transmission rate based on the low-speed header 205 included in the low-speed packet. The transmission rate information 113 indicates the low-speed transmission rate determined by the transmission rate acquisition unit 21a. The transmission rate information 113 is composed of, for example, 16 bits. The communication device 10 can identify the low-speed transmission rate of the original low-speed packet to be restored based on the transmission rate information 113 included in the received head data body 100a. The transmission rate acquisition unit 21a will be described in detail later.

[0084] In the transmission rate information 113, the low-speed transmission rate may be represented by a numerical value or by identification information. In other words, the transmission rate information 113 may include the numerical value of the low-speed transmission rate, or may include identification information of the low-speed transmission rate. The format information 112 indicates in what format the low-speed transmission rate is represented in the transmission rate information 113, that is, whether it is represented by a numerical value or by identification information.

[0085] The format information 112 is composed of, for example, two bits. When the format information 112 indicates "01", the low-speed transmission rate is expressed as a numerical value in the transmission rate information 113. When the format information 112 indicates "10", the low-speed transmission rate is expressed as identification information in the transmission rate information 113.

[0086] Note that if the low-speed transmission rate is known in the communication device 10A and the communication device 10B, the packet processing unit 21 does not need to calculate the low-speed transmission rate. In this case, the format information 112 may indicate that the low-speed transmission rate is known. For example, if the format information 112 indicates "00", the format information 112 may indicate that the low-speed transmission rate is known. If the low-speed transmission rate is known, the transmission rate information 113 may indicate the known low-speed transmission rate pre-stored in the packet processing unit 21 as a numerical value.

[0087] The data length information 114 indicates the data length of the low-speed packet (also referred to as the low-speed packet length). As shown in FIG. 5, the packet processing unit 21 includes a data length acquisition unit 21b that determines the data length of the low-speed packet based on the low-speed header 205 included in the low-speed packet. The data length information 114 indicates the low-speed packet length determined by the data length acquisition unit 21b. The data length information 114 is composed of, for example, 9 bits. The data length information 114 represents, for example, the low-speed packet length as a numerical value. The communication device 10 can identify the data length of the original low-speed packet to be restored based on the data length information 114 included in the received head data body 100a. The data length acquisition unit 21b will be described in detail later.

[0088] The bit number specifying information 115 included in the final header 110c is information for specifying the number of bits of the final second bit group included in the final data body 100c. The bit number specifying information 115 is composed of, for example, 9 bits. The bit number specifying information 115 may, for example, numerically indicate the number of bits of a bit group consisting of the final header 110c and the final second bit group. In this case, the communication device 10 receiving the final data body 100c can determine the number of bits of the final second bit group based on the known number of bits of the final header 110c and the bit number specifying information 115 included in the final data body 100c. The bit number specifying information 115 may also numerically indicate the number of bits of the final second bit group. In this case, the communication device 10 can determine the number of bits of the final second bit group based on the bit number specifying information 115 included in the received final data body 100c.

[0089] As can be understood from the above explanation, the number of bits of the first header 110a is, for example, 29 bits, the number of bits of the middle header 110b is, for example, 2 bits, and the number of bits of the last header 110c is, for example, 11 bits. The number of bits of the bit group consisting of the first header 110a and the first second bit group is smaller than the number of bits of the data body 100. Also, the number of bits of the bit group consisting of the middle header 110b and the middle second bit group is smaller than the number of bits of the data body 100. Also, the number of bits of the bit group consisting of the last header 110c and the last second bit group is smaller than the number of bits of the data body 100. A part of the data body 100 constitutes the high-speed header and the second bit group.

[0090] In the initial data body 100a, each bit other than the initial header 110a and the initial second bit group may have any value. For example, each bit may be indefinite or may be a dummy fixed value. The same applies to each bit in the intermediate data body 100b other than the intermediate header 110b and the intermediate second bit group. The same applies to each bit in the final data body 100c other than the final header 110c and the final second bit group.

[0091] <Example of operation of the transmission rate acquisition unit> The transmission rate acquisition unit 21a includes a counter that counts up based on, for example, a 240 MHz clock signal. The counter increments its count value by one each time the clock signal rises. The transmission rate acquisition unit 21a uses the counter to determine the low-speed transmission rate. Three methods for determining the low-speed transmission rate are described below.

[0092] <First method> In the first method, the transmission rate acquisition unit 21a uses a counter to measure the time from the first rising edge after the start bit of the low-speed header 205 to the first falling edge after the start bit. As shown in Fig. 4, the first rising edge after the start bit is the rising edge of the second bit from the beginning of the synchronization code. Also, the first falling edge after the start bit is the falling edge of the second bit from the beginning of the synchronization code.

[0093] The transmission rate acquisition unit 21a measures the time from the first rising edge after the start bit to the first falling edge after the start bit by counting the number of counts in the counter from the first rising edge after the start bit to the first falling edge after the start bit.The transmission rate acquisition unit 21a then calculates the low-speed transmission rate based on the measurement result, that is, based on the acquired count.Assuming the acquired count is C1 and the low-speed transmission rate is LT (unit: Mbps), the transmission rate acquisition unit 21a calculates the low-speed transmission rate LT using the following equation (1):

[0094]

number

[0095] The header generator 28 adds, to the first header 110a, transmission rate information 113 including the numerical value of the low-speed transmission rate calculated by the transmission rate acquisition unit 21a using equation (1). In this case, the format information 112 indicates "01".

[0096] <Second method> In the second determination method, the transmission rate obtainment unit 21a uses a counter to measure the time from the falling edge of the start bit of the low-speed header 205 to the first rising edge after the start bit. The transmission rate obtainment unit 21a uses the number of counts in the counter from the falling edge of the start bit to the first rising edge after the start bit as the measurement result of the time from the falling edge of the start bit to the first rising edge after the start bit. The transmission rate obtainment unit 21a then obtains the low-speed transmission rate based on the measurement result, that is, based on the obtained count number. If the obtained count number is C2, the transmission rate obtainment unit 21a obtains the low-speed transmission rate LT using the following equation (2):

[0097]

number

[0098] The header generating unit 28 adds, to the head header 110a, transmission rate information 113 including the numerical value of the low-speed transmission rate obtained by the transmission rate obtaining unit 21a using equation (2), for example.

[0099] As can be seen from the above explanation, in the second method, the low-speed transmission rate is calculated based on the count for the time equivalent to two bits of the low-speed packet. On the other hand, in the first method, the low-speed transmission rate is calculated based on the count for the time equivalent to one bit of the low-speed packet. Therefore, the influence of the timing difference between bit changes in the low-speed packet on the count is smaller in the second method than in the first method. Therefore, the second method can calculate the low-speed transmission rate more accurately than the first method.

[0100] <Third method> In the third determination method, the transmission rate obtainer 21a uses a counter to measure the time from the falling edge of the start bit of the low-speed header 205 to the first falling edge after the start bit. The transmission rate obtainer 21a uses the count number of the counter from the falling edge of the start bit to the first falling edge after the start bit as the measurement result of the time from the falling edge of the start bit to the first falling edge after the start bit. The transmission rate obtainer 21a then obtains the low-speed transmission rate based on the measurement result, that is, based on the obtained count number. If the obtained count number is C3, the transmission rate obtainer 21a obtains the low-speed transmission rate LT using the following equation (3):

[0101]

number

[0102] The header generating unit 28 adds, to the head header 110a, transmission rate information 113 including the numerical value of the low-speed transmission rate obtained by the transmission rate obtaining unit 21a using equation (3), for example.

[0103] As can be understood from the above explanation, in the third method, the low-speed transmission rate is calculated based on the count for the time equivalent to three bits of the low-speed packet. Therefore, the influence of the timing difference of the bit changes in the low-speed packet on the count is smaller in the third method than in the second and first methods. Therefore, the third method can calculate the low-speed transmission rate more accurately than the second and first methods.

[0104] The transmission rate acquisition unit 21a may obtain the low-speed transmission rate using a table rather than calculation. For example, consider a case where there are M types of setting values ​​for the low-speed transmission rate (M is an integer equal to or greater than 2). In this case, in a first determination method, a first table in which a count number C1 is associated with each of the M types of setting values ​​for the low-speed transmission rate is stored in advance in the transmission rate acquisition unit 21a. The transmission rate acquisition unit 21a obtains the count number C1 of a counter from the first rising edge after the start bit to the first falling edge after the start bit. The transmission rate acquisition unit 21a then identifies the setting value of the low-speed transmission rate associated with the same value as the obtained count number C1 in the first table. However, if the first table does not contain the same value as the obtained count number C1, the transmission rate acquisition unit 21a identifies the setting value of the low-speed transmission rate associated with the value closest to the obtained count number C1. The transmission rate acquisition unit 21a then sets the identified setting value as the value of the low-speed transmission rate of the low-speed packet received by the communication device 10.

[0105] In this way, when the first table is used to determine the low-speed transmission rate, the transmission rate acquisition unit 21a can appropriately determine the low-speed transmission rate even if the count number in the counter contains an error.

[0106] When the first table is used, the header generating unit 28 may store in advance a second table in which M types of low-speed transmission rate setting values ​​are associated with identification information (e.g., identification numbers) for the setting values. In this case, the header generating unit 28 identifies, in the second table, the identification information corresponding to the same setting value as the low-speed transmission rate value obtained by the transmission rate obtaining unit 21a. The header generating unit 28 then includes, in the leading header 110a, transmission rate information 113 containing the identified identification information. In this case, the format information 112 indicates "10".

[0107] The second table is stored in advance in each communication device 10. In the second table, the communication device 10 identifies the set value of the low-speed transmission rate associated with the same identification information as the identification information included in the transmission rate information 113 included in the received first header 110a. Then, the communication device 10 sets the identified set value as the value of the low-speed transmission rate of the low-speed packet to be restored.

[0108] In the second and third determination methods, the transmission rate acquisition unit 21a can similarly determine the low-speed transmission rate by using a table. In the second and third determination methods, the header generation unit 28 can similarly include, in the leading header 110a, transmission rate information 113 that includes identification information for the low-speed transmission rate determined by the transmission rate acquisition unit 21a.

[0109] For example, based on the low-speed transmission rate obtained by the transmission rate obtaining unit 21a, the packet processing unit 21 samples each bit of the low-speed packet from the timing at which the low-speed transmission rate is obtained. For example, consider a case where the low-speed transmission rate is obtained by the first obtaining method. In this case, the packet processing unit 21 samples the third bit from the beginning of the synchronization code at the first timing when the counter has counted half the count number C1 from the falling edge of the second bit from the beginning of the synchronization code, and identifies the value of that bit. The time it takes the counter to count half the count number C1 corresponds to half the time for one bit of the low-speed packet. The packet processing unit 21 then samples a bit of the low-speed packet every time the counter counts the count number C1. This allows the packet processing unit 21 to sample that bit near the center of each bit of the low-speed packet.

[0110] Even when the low-speed transmission rate is determined using the second and third methods, the packet processing unit 21 can sample the bit near the center of each bit of the low-speed packet based on the determined low-speed transmission rate.

[0111] <Example of operation of data length acquisition unit> The data length acquisition unit 21b can obtain the low-speed packet length based on, for example, the ID code included in the low-speed header 205. In this example, there are L types (L is an integer equal to or greater than 2) of setting values ​​for the low-speed packet length. A unique ID code is assigned to each of the L types of setting values. The ID code can also be considered as identification information for the low-speed packet length. The ID code indicates the low-speed packet length. The low-speed header 205 includes an ID code assigned to the data length value of the low-speed packet that includes the low-speed header 205.

[0112] The data length acquisition unit 21b pre-stores a third table in which L types of setting values ​​for the low-speed packet length are associated with ID codes assigned to the setting values. The data length acquisition unit 21b identifies the setting value for the data length associated with the same ID code as the ID code input to the generation unit 20 in the third table. The data length acquisition unit 21b then sets the identified setting value as the data length value of the low-speed packet input to the generation unit 20. The header generation unit 28 includes data length information 114, which includes the value of the low-speed packet length obtained by the data length acquisition unit 21b, in the leading header 110a.

[0113] The packet processing unit 21 determines the number of bits in the final second bit group based on the low-speed packet length determined by the data length acquisition unit 21b, the known number of bits in the high-speed header, and the known number of basic bits in the second bit group. The header generation unit 28 generates bit number determination information 115 for determining the number of bits in the final second bit group determined by the packet processing unit 21.

[0114] The packet processing unit 21 can determine whether each bit sequentially input to the packet processing unit 21 is included in the second bit group based on the low-speed packet length determined by the data length acquisition unit 21b, the known number of bits in the high-speed header, and the known number of basic bits in the second bit group. If the bit input to the packet processing unit 21 is included in the second bit group, the packet processing unit 21 outputs the input bit to the buffer 23. The bits output from the packet processing unit 21 are written to the buffer 23 under the control of the buffer 23 by the write control unit 24. As a result, each time a bit included in the second bit group is input to the generation unit 20, the bit is stored in the buffer 23. Therefore, each bit of the N second bit groups is sequentially written to the buffer 23 one bit at a time. Each time a bit included in the second bit group is obtained, the generation unit 20 stores the bit in the buffer 23.

[0115] <Configuration example of a restoration unit included in a conversion unit of a communication device> 8 is a schematic diagram showing an example of the configuration of the restoration unit 30A and the restoration unit 30B. The configurations of the restoration unit 30A and the restoration unit 30B are, for example, the same as each other. As shown in FIG. 8, the restoration unit 30 includes, for example, a data body acquisition unit 31, a data body processing unit 32, a buffer 33, a write control unit 34, a read control unit 35, and a packet generation unit 36. Each of these components included in the restoration unit 30 is realized, for example, by a hardware circuit that does not require software to realize its function.

[0116] The multiple bits that make up the high-speed packet received by the interface 13 are input one bit at a time in order from the beginning to the restoration unit 30. In other words, the multiple bits that make up the high-speed packet are transmitted from the interface 13 one bit at a time in order from the beginning.

[0117] The restoration unit 30 operates, for example, based on a clock signal having a frequency at least twice the numerical value of the high-speed transmission rate, for example, based on a 240 MHz clock signal.

[0118] The data body acquisition unit 31 acquires the data body 100 from the high-speed packet input to the restoration unit 30. Every time a high-speed packet is input to the restoration unit 30, the data body acquisition unit 31 acquires the data body 100 from the input high-speed packet. The data bodies 100 acquired sequentially by the data body acquisition unit 31 are input sequentially to the data body processing unit 32.

[0119] Fig. 9 is a schematic diagram showing an example of the configuration of the data body acquisition unit 31. As shown in Fig. 9, the data body acquisition unit 31 includes, for example, an associated data removal unit 31a, a deinterleaver 31b, an error correction decoding unit 31c, and a 5b4b decoding unit 31d.

[0120] The associated data remover 31a removes the associated data 105 from the high-speed packet to obtain the data region 101. The deinterleaver 31b deinterleaves the data region 101 to obtain the error-correction coded data 181. The error-correction decoder 31c performs error correction on the error-correction coded data 181 to restore the 4b5b coded data 180. The 5b4b decoder 31d performs 5b4b decoding on the restored 4b5b coded data 180 to restore the data body 100. In this way, the data body 100 is obtained from the high-speed packet.

[0121] The buffer 33 is, for example, a FIFO buffer. The write control unit 34 controls writing of data to the buffer 33. The write control unit 34, for example, outputs a write pointer to the buffer 33. The write control unit 34 controls writing of data to the buffer 33 by controlling the write pointer. The read control unit 35 controls reading of data from the buffer 33. The read control unit 35, for example, outputs a read pointer to the buffer 33. The read control unit 35 controls reading of data from the buffer 33 by controlling the read pointer.

[0122] The data body processing unit 32 processes the data body 100 (also referred to as the acquired data body 100) acquired by the data body acquisition unit 31. The data body processing unit 32 acquires, for example, type information 111 from the acquired data body 100. Then, based on the acquired type information 111, the data body processing unit 32 identifies whether the acquired data body 100 is a first data body 100a, an intermediate data body 100b, or a final data body 100c.

[0123] When the acquired data body 100 is the leading data body 100a, the data body processing unit 32 acquires format information 112, transmission rate information 113, and data length information 114 from the acquired data body 100. The data body processing unit 32 also acquires the leading second bit group from the acquired data body 100. Since the number of bits in the leading second bit group (i.e., the number of basic bits) is known, the data body processing unit 32 can acquire the leading second bit group from the acquired data body 100.

[0124] If the acquired format information 112 indicates "01", the data body processing unit 32 identifies the value of the low-speed transmission rate based on the transmission rate information 113. On the other hand, if the format information 112 indicates "10", the data body processing unit 32 identifies the value of the low-speed transmission rate based on the identification information indicated by the transmission rate information 113 and the second table. The value of the low-speed transmission rate identified by the data body processing unit 32 is notified to the read control unit 35.

[0125] The data body processing unit 32 determines the low-speed packet length based on the acquired data length information 114. The data body processing unit 32 also outputs each bit of the acquired leading second bit group to the buffer 33 one bit at a time.

[0126] When the acquired data body 100 is an intermediate data body 100b, the data body processing unit 32 acquires an intermediate second bit group from the acquired data body 100. Then, the data body processing unit 32 outputs each bit of the acquired intermediate second bit group one bit at a time to the buffer 33. Because the number of bits in the intermediate second bit group (i.e., the number of basic bits) is known, the data body processing unit 32 can acquire the intermediate second bit group from the acquired data body 100.

[0127] When the acquired data body 100 is the final data body 100c, the data body processing unit 32 acquires the number-of-bits specifying information 115 from the acquired data body 100. Then, the data body processing unit 32 identifies the number of bits of the final second bit group based on the acquired number-of-bits specifying information 115.

[0128] Based on the number of bits in the identified final second bit group, the data body processing unit 32 acquires the final second bit group from the acquired data body 100. Then, the data body processing unit 32 outputs each bit of the acquired final second bit group to the buffer 33 one bit at a time.

[0129] The write control unit 34 controls the write pointer to sequentially write each bit of the N second bit groups output by the data body processing unit 32 into the buffer 33 bit by bit.

[0130] The read control unit 35 reads bits from the buffer 33 every time a bit included in the second bit group is written to the buffer 33. For example, the read control unit 35 starts reading bits from the buffer 33 as soon as writing of the bits of the second bit group to the buffer 33 starts. In other words, the read control unit 35 starts reading bits from the buffer 33 as soon as the first bit of the N second bit groups is written to the buffer 33. It can also be said that the read control unit 35 starts reading bits from the buffer 33 in response to writing of the first bit to the buffer 33. The read control unit 35 can recognize that bits have been written to the buffer 33 by monitoring the write pointer output by the write control unit 34. The N bits of the second bit group, which are read one bit at a time from the buffer 33, are sequentially input one bit at a time to the packet generation unit 36. The read control unit 35 controls the buffer 33 so that bits are transmitted from the buffer 33 to the packet generation unit 36 ​​at the same transmission rate as the low-speed transmission rate notified by the data body processing unit 32.

[0131] The packet generator 36 generates a low-speed packet including the N second packet groups output from the buffer 33, thereby restoring the original low-speed packet that included the N second packet groups.

[0132] When the buffer 33 outputs a plurality of bits for one data bit string (i.e., a plurality of bits constituting one data bit string), the packet generator 36 adds a start bit and a stop bit to the plurality of bits to generate one block BL. A block BL generated by the packet generator 36 is a block BL restored from the original low-speed packet. Each time a plurality of bits of one data bit string are output from the buffer 33, the packet generator 36 generates a block BL including the plurality of bits. In this way, a low-speed packet including N second packet groups is generated and output from the buffer 33. In other words, a restored low-speed packet is generated by restoring the original low-speed packet. The packet generator 36 outputs each bit of the restored low-speed packet to the interface 12 at the same transmission rate as the low-speed transmission rate. The interface 12 transmits each bit of the restored low-speed block from the packet generator 36 at the same transmission rate as the low-speed transmission rate.

[0133] <An example of a series of operations in a communication system> 10 to 12 are schematic diagrams showing an example of a series of operations of the communication system 5 when the communication system 5 receives low-speed packets from one processing unit 2 and relays the received low-speed packets to the other processing unit 2. FIGS. 10 to 12 show an example of operations in which one communication device 10 converts the low-speed packets received from one processing unit 2 into N high-speed packets, transmits the N high-speed packets to the other communication device 10, and the other communication device 10 restores the original low-speed packets based on the received N high-speed packets and transmits the restored low-speed packets to the other processing unit 2. Hereinafter, the communication device 10 that converts the original low-speed packets into N high-speed packets will be referred to as the conversion-side communication device 10, and the communication device 10 that restores the original low-speed packets will be referred to as the restoration-side communication device 10. In this example, when the communication device 10A functions as the conversion-side communication device 10, the communication device 10B functions as the restoration-side communication device 10. On the other hand, when the communication device 10B acts as the conversion-side communication device 10, the communication device 10A acts as the restoration-side communication device 10.

[0134] In the examples of Figures 10 to 12, the data length of the low-speed packet is 320 bits (i.e., A=32), the second transmission rate of the low-speed packet (i.e., low-speed transmission rate) is 1 Mbps, the number of bits in the first bit group to be transmitted is 256 bits, and the basic bit number of the second bit group is 30 bits. Also, in the examples of Figures 10 to 12, the first transmission rate of the high-speed packet (i.e., high-speed transmission rate) is 120 Mbps, and the number of bits in the data body 100 is 512 bits. In the examples of Figures 10 to 12, the number of bits in the last second bit group is 16 bits. In Figures 10 to 12, the a-th block BL (a is an integer greater than or equal to 1 and less than or equal to A) from the beginning of the low-speed packet is indicated by block a.

[0135] In the conversion-side communication device 10, when the interface 12 starts receiving low-speed packets, the generation unit 20 generates transmission rate information 113 based on the low-speed header 205 in step s1, as shown in FIG. 10 . Then, in step s2, the generation unit 20 generates data length information 104 based on the ID code included in the low-speed header 205. After generating the transmission rate information 113 and data length information 114 based on the low-speed header 205, the generation unit 20 generates a leading header 110a in step s3. After the leading header 110a is generated, 30 bits constituting the leading second bit group are output from the buffer 23. In step s4, the data body generation unit 26 appends the leading header 110a to the leading second bit group. Then, in step s5, the data body generation unit 26 generates a leading data body 100a including the leading second bit group to which the leading header 110a has been appended. In the generator 20, the leading header 110a is generated before the output of the leading second bit group from the buffer 23 is completed.

[0136] When the leading data body 100a is generated, the packet generator 27 generates a high-speed packet including the leading data body 100a and outputs it to the interface 13. In step s6, the interface 13 transmits the high-speed packet including the leading data body 100a (also referred to as a leading high-speed packet).

[0137] After step s6, in the restoring-side communication device 10, when the interface 13 receives the first high-speed packet, the restoring unit 30 starts restoring the original low-speed packet based on the first high-speed packet. When the restoration of the low-speed packet starts, in step s7, the interface 12 starts transmitting the restored low-speed packet.

[0138] In the conversion-side communication device 10, when reception of the leading second bit group is completed, the generation unit 20 generates an intermediate header 110b in step s11, as shown in Figures 10 and 11. After the intermediate header 110b is generated, the 30 bits constituting the intermediate second bit group are output from the buffer 23, and then, as shown in Figure 11, the data body generation unit 26 adds the intermediate header 110b to the intermediate second bit group in step s12. Thereafter, in step s13, the data body generation unit 26 generates an intermediate data body 100b including the intermediate second bit group to which the intermediate header 110b has been added. The generation unit 20 generates the intermediate header 110b by the time output of the intermediate second bit group from the buffer 23 is completed.

[0139] When the intermediate data body 100b is generated, the packet generation unit 27 generates a high-speed packet including the intermediate data body 100b and outputs it to the interface 13. The interface 13 transmits the high-speed packet (also called an intermediate high-speed packet) including the intermediate data body 100b. Thereafter, the conversion-side communication device 10 operates in the same manner to sequentially transmit (N-2) intermediate high-speed packets.

[0140] Upon receiving the intermediate high-speed packet, the restoring-side communication device 10 continues restoring the low-speed packet based on the received intermediate high-speed packet, and continues transmitting the restored low-speed packet (see FIG. 11).

[0141] In the conversion-side communication device 10, when reception of the (N-2)th intermediate second bit group is completed, the generation unit 20 generates a final header 110c in step s21, as shown in FIG. 12. After the final header 110c is generated, the 16 bits constituting the final second bit group are output from the buffer 23. In step s22, the data body generation unit 26 appends the final header 110c to the final second bit group. Thereafter, in step s23, the data body generation unit 26 generates a final data body 100c including the final second bit group to which the final header 110c has been appended. The generation unit 20 generates the final header 110c by the time output of the final second bit group from the buffer 23 is completed.

[0142] When the final data body 100c is generated, the packet generator 27 generates a high-speed packet including the final data body 100c and outputs it to the interface 13. The interface 13 transmits the high-speed packet including the final data body 100c (also referred to as the final high-speed packet).

[0143] When the restoration-side communication device 10 receives the final high-speed packet, it continues to restore the low-speed packet based on the received final high-speed packet and continues to transmit the restored low-speed packet (see FIG. 12). After the restoration-side communication device 10 completes receiving the final high-speed packet, and some time later, it completes transmitting the restored low-speed packet.

[0144] As described above, in the conversion-side communication device 10 of this example, every time the interface 12 receives a second bit group, the number of bits of which is smaller than the number of bits of the data body, from among the first bit group to be transmitted and included in the low-speed packet, the generation unit 20 sequentially generates a high-speed packet including a high-speed header and a data body 100 including the second bit group. Then, every time the generation unit 20 generates a high-speed packet, the interface 13 sequentially transmits the high-speed packet.

[0145] In this way, every time the conversion-side communication device 10 receives the second bit group of a low-speed packet, it transmits a high-speed packet including the data body 100 that includes the second bit group.

[0146] In contrast, if a communication device receiving a low-speed packet starts transmitting a high-speed packet after receiving all of the multiple bits that make up the low-speed packet (i.e., all of A blocks BL), the latency from when the communication device starts receiving the low-speed packet to when it starts transmitting the high-speed packet will be large.

[0147] In this example, each time the conversion side communication device 10 receives a second bit group that is part of a low-speed packet, it transmits a high-speed packet including a data body 100 that includes the second bit group, thereby reducing the latency (also called the first latency) from when the conversion side communication device 10 starts receiving a low-speed packet to when it starts transmitting a high-speed packet.

[0148] Furthermore, in the restoration-side communication device 10 of this example, the restoration unit 30 generates restored low-speed packets by restoring the original low-speed packets based on the high-speed packets that the interface 13 sequentially receives from the conversion-side communication device 10, and the interface 12 transmits the restored low-speed packets. This reduces the latency Da (see FIG. 10 ) from when the conversion-side communication device 10 starts receiving the original low-speed packets to when the restoration-side communication device 10 starts transmitting the restored low-speed packets that are restored from the original low-speed packets. In other words, it reduces the latency Da from when the communication system 5, which relays low-speed packets between one processing unit 2 and the other processing unit 2, starts receiving low-speed packets from one processing unit 2 to when it starts transmitting low-speed packets to the other processing unit 2. Hereinafter, the latency Da may be referred to as second latency Da.

[0149] In the conversion-side communication device 10 of this example, the generation unit 20 determines the low-speed transmission rate of the low-speed packet and generates a leading data body 100a including a leading second bit group and a leading header 110a including transmission rate information 113 indicating the determined low-speed transmission rate. As a result, the restoration-side communication device 10 receiving a high-speed packet including the leading data body 100a can easily identify the low-speed transmission rate of the original low-speed packet based on the transmission rate information 113 included in the leading data body 100a.

[0150] In this example, the generation unit 20 calculates the data length of the low-speed packet and generates a leading header 110a including data length information 114 indicating the calculated data length and a leading data body 100a including a leading second bit group. This allows the restoration-side communication device 10, which receives a high-speed packet including the leading data body 100a, to easily identify the data length of the original low-speed packet based on the data length information 114 included in the leading data body 100a.

[0151] Furthermore, in this example, the generation unit 20 generates a final header 110c including bit number specifying information 115 for specifying the number of bits in the final second bit group, and a final data body 100c including the final second bit group. As a result, the restoration-side communication device 10 receiving a high-speed packet including the final data body 100c can easily specify the number of bits in the final second bit group included in the final data body 100c, based on the bit number specifying information 115 included in the final data body 100c.

[0152] <Number of basic bits in the second bit group> The first transmission rate of the high-speed packet (i.e., the high-speed transmission rate) is represented by R1, and the second transmission rate of the low-speed packet (i.e., the low-speed transmission rate) is represented by R2. The data length of the high-speed packet (also called the high-speed packet length) is represented by L1, and the data length of the data body 100 included in the high-speed packet (i.e., the number of bits in the data body) is represented by L1e. The low-speed packet length is represented by L2, and the number of basic bits in the second bit group is represented by L2d.

[0153] The effective transmission rate R1e of the data body 100 contained in the high-speed packet can be expressed by the following equation (4). The transmission rate R1e is sometimes called the effective transmission rate of the high-speed packet. Hereinafter, the transmission rate R1e may also be called the effective high-speed transmission rate R1e. The transmission rate can also be seen as a communication bandwidth.

[0154]

number

[0155] In this example, since only a part of the data body 100 constitutes the second bit group, the transmission efficiency E is expressed by the following equation (5).

[0156]

number

[0157] Therefore, the effective transmission rate R3 (also referred to as the second bit group transmission rate R3) when transmitting the second bit group using high-speed packets is expressed by the following equation (6).

[0158]

number

[0159] As can be seen from equations (5) and (6), the second bit group transmission rate R3 can be increased by increasing the number of basic bits L2d of the second bit group.

[0160] On the other hand, as the number of basic bits L2d of the second bit group increases, the time from when the conversion side communication device 10 starts receiving a low-speed packet to when it finishes receiving the first second bit group increases, and therefore the first latency increases.

[0161] Therefore, to reduce the first latency while preventing the second bit group transmission rate R3 from becoming too small, the basic bit number L2d of the second bit group may be set so that the second bit group transmission rate R3 matches the low-speed transmission rate R2. That is, the basic bit number L2d may be determined using the following equation (7):

[0162]

number

[0163] However, if the value obtained by equation (7) is not an integer, the value obtained by equation (7) may be rounded to an integer by, for example, rounding off or truncating the value obtained by equation (7) to one decimal place.

[0164] The basic number of bits L2d obtained based on equation (7) can be said to be a value based on the number of data body bits L1e, the substantial transmission rate R1e of the data body 100, and the low-speed transmission rate R2.

[0165] An approximate value of the second latency Da, that is, an approximate value of the latency from when the conversion side communication device 10 starts receiving the original low-speed packet to when the restoration side communication device 10 starts transmitting the restored low-speed packet that is the original low-speed packet, can be expressed by the following equation (8).

[0166]

number

[0167] For example, suppose the high-speed transmission rate R1 is 120 Mbps, the effective high-speed transmission rate R1e is 40 Mbps, the low-speed transmission rate R2 is 1 Mbps, the number of data bits L1e is 512 bits, the high-speed packet length L1 is 1536 bits, and the low-speed packet length L2 is 320 bits. In this case, the basic number of bits L2d calculated using equation (7) is 12.8 bits. If the value calculated using equation (7) is used as the value of the basic number of bits L2d in equation (8), the approximate value of the second latency Da is 25.6 μs.

[0168] In the communication system 5, a basic number of bits L2d determined in advance based on equation (7) may be used. Alternatively, the generation unit 20 may determine the basic number of bits L2d based on equation (7). That is, the generation unit 20 may determine the basic number of bits L2d based on the number of bits L1e of the data body, the effective transmission rate R1e of the data body 100, and the low-speed transmission rate R2.

[0169] When the generation unit 20 determines the number of basic bits L2d, the head header 110a may include basic bit number information indicating the determined number of basic bits L2d, which allows the restoration-side communication device 10 to identify the number of basic bits L2d based on the basic bit number information included in the received head header 110a.

[0170] In the above example, the final header 110c includes the bit number specifying information 115, but the bit number specifying information 115 need not be included. In this case, in the restoration-side communication device 10, the data body processing unit 32 can specify the number of bits of the final second bit group based on the number of bits of second bit groups other than the final second bit group already received by the interface 13 and the low-speed packet length. That is, the data body processing unit 32 can specify the number of bits of the final second bit group based on the total number of bits of the first second bit group and the (N-2) intermediate second bit groups received by the interface 13 up to that point and the low-speed packet length. In other words, the data body processing unit 32 can specify the number of bits of the final second bit group based on the total number of bits of the (N-1) second bit groups included in the first data body 100a and the (N-2) intermediate data bodies 100b acquired by the data body acquisition unit 31 and the low-speed packet length. For example, consider a case where the low-speed packet length is 320 bits and the total number of bits in the first second bit group and the middle second bit group received by the interface 13 is 240 bits. In this case, the number of bits in the first bit group to be transmitted is 256 bits, so the number of bits in the final second bit group is 16 bits.

[0171] Furthermore, in the communication device 10A and the communication device 10B, if it is known whether the transmission rate information 113 includes a low-speed transmission rate value or low-speed transmission rate identification information, the format information 112 does not need to be included in the leading header 110a.

[0172] Furthermore, if the low-speed transmission rate is known in the communication device 10A and the communication device 10B, the generation unit 20 does not need to calculate the low-speed transmission rate. In this case, the transmission rate information 113 and the format information 112 do not need to be included in the leading header 110a.

[0173] Furthermore, if the low-speed packet length is known in the communication device 10A and the communication device 10B, the data length information 114 does not need to be included in the leading header 110a.

[0174] In the restoration-side communication device 10 in the above example, the read control unit 35 starts reading bits from the buffer 33 immediately after starting to write bits to the buffer 33. However, the timing at which bits are written to the buffer 33 may vary due to variations in processing time at the conversion-side communication device 10, jitter in communication between the conversion-side communication device 10 and the restoration-side communication device 10, variations in processing time at the data body acquisition unit 31 and the data body processing unit 32 included in the restoration-side communication device 10, and the like. Furthermore, variations may occur in the timing at which the read control unit 35 reads bits from the buffer 33. For this reason, if the read control unit 35 starts reading bits from the buffer 33 immediately after starting to write bits to the buffer 33, as in the above example, the restoration-side communication device 10 may not be able to continuously transmit each bit of the restored low-speed packet. In other words, transmission of the restored low-speed packet from the restoration-side communication device 10 may be interrupted.

[0175] Therefore, the read control unit 35 may start reading bits from the buffer 33 after a certain number of bits have been written to the buffer 33. In other words, the read control unit 35 may start reading bits from the buffer 33 when the number of bits written to the buffer 33 becomes greater than a threshold value. This reduces the possibility that transmission of restored low-speed packets from the restoration-side communication device 10 will be interrupted. The read control unit 35 can identify the number of bits written to the buffer 33 by monitoring the write pointer output by the write control unit 34.

[0176] The threshold value used by the read control unit 35 is set so that even if the above-mentioned variations and jitter reach their worst values, the transmission of restored low-speed packets from the restoration-side communication device 10 is not interrupted. The threshold value may be set based on the operation results of actually operating the communication system 5 experimentally in advance, or may be set based on the results of simulating the operation of the communication system 5.

[0177] In the above example, the remaining area (also called the remainder area) other than the high-speed header and the second bit group in the data body 100 is not used, but the remaining area may be used, for example, to strengthen the error resistance of the high-speed header and the second bit group. Several examples of how to use the remainder area will be described below.

[0178] <First method of use> <Example of operation of the conversion side communication device> FIG. 13 is a schematic diagram illustrating an example of the operation of the generation unit 20 of the conversion-side communication device 10. In a first usage method, the data body generation unit 26 of the generation unit 20 generates coded data 150 including a high-speed header, a third bit group consisting of the second bit group, and error detection bits, as shown in FIG. 13. The data body generation unit 26 then generates a data body 100 including the coded data 150 and at least one copy 150a of the coded data 150. The error detection bits included in the coded data 150 may be, for example, error detection bits based on a CRC. CRC is an abbreviation for Cyclic Redundancy Check. The error detection bits are also called redundant bits.

[0179] Encoded data 150 and copy 150a are the same data. Hereinafter, when there is no need to distinguish between encoded data 150 and copy 150a, they will each be referred to as encoded data 151. Data body 100 includes multiple pieces of encoded data 151, each consisting of encoded data 150 and at least one copy 150a of encoded data 150. Data body 100 includes at least two pieces of encoded data 151.

[0180] The data body 100 may include one copy 150a or multiple copies 150a. Alternatively, the maximum number of encoded data 151 that can be included in the data body 100 may be generated. For example, consider a case where the number of bits in the data body 100 is 512 bits, the number of bits in the third bit group is 56 bits, and the number of error detection bits is 8 bits. In this case, the number of bits in the encoded data 151 is 64 bits, and the maximum number of encoded data 151 that can be included in the data body 100 is 8.

[0181] When the number of bits of the data body 100 is greater than the total number of bits of the plurality of coded data 151 included in the data body 100, the value of each bit of the data body 100 other than the plurality of coded data 151 may be any value. For example, each bit may be indefinite or may be a dummy fixed value.

[0182] <Example of operation of the decryption communication device> The restoration unit 30 includes, in the restored low-speed packet, the second bit group included in the coded data 151 in which no error was detected, among the plurality of coded data 151 included in the data body 100. Specifically, the data body processing unit 32 of the restoration unit 30 performs error detection (for example, error detection based on CRC) on each coded data 151 included in the data body 100. Then, the data body processing unit 32 performs necessary processing based on the high-speed header included in the coded data 151 in which no error was detected, among the plurality of coded data 151 included in the data body 100. Furthermore, the data body processing unit 32 outputs each bit of the second bit group included in the coded data 151 in which no error was detected to the buffer 33. As a result, the second bit group included in the coded data 151 in which no error was detected is included in the restored low-speed packet generated by the packet generation unit 36.

[0183] If an error is detected in all of the multiple pieces of coded data 151 included in the data body 100, the data body processing unit 32 may perform necessary processing based on the high-speed header included in any one of the multiple pieces of coded data 151. The data body processing unit 32 may also output the second bit group included in any one of the multiple pieces of coded data 151 to the buffer 33. If an error is detected in all of the multiple pieces of coded data 151 included in the data body 100 included in the high-speed packet, the data body processing unit 32 will ignore the high-speed packet, and a timeout process will be performed on the upper system side.

[0184] <Second method of use> <Example of operation of the conversion side communication device> Fig. 14 is a schematic diagram for explaining an example of the operation of the generation unit 20 of the conversion-side communication device 10. In the second usage method, the data body generation unit 26 of the generation unit 20 performs error correction encoding on the high-speed header and the third bit group made up of the second bit group, as shown in Fig. 14, to generate encoded data 160 including the third bit group and error correction bits. Then, the data body generation unit 26 generates the data body 100 including the encoded data 160.

[0185] The error correction bits included in the encoded data 160 may be error correction bits based on, for example, BCH coding. In this case, it can be said that the data body generation unit 26 performs BCH coding on the third bit group to generate the encoded data 160. In this case, it can be said that the encoded data 160 is a BCH code. Note that the error correction bits included in the encoded data 160 may be error correction bits based on, for example, Reed-Solomon coding, or error correction bits based on LDPC coding. LDPC is an abbreviation for Low Density Parity Check.

[0186] When the number of bits of the data body 100 is greater than the number of bits of the encoded data 160 included in the data body 100, the value of each bit of the data body 100 other than the encoded data 160 may be any value. For example, each bit may be indefinite or may be a dummy fixed value.

[0187] <Example of operation of the decryption communication device> The data body processing unit 32 of the restoration unit 30 performs error correction on the encoded data 160 included in the data body 100. Then, the data body processing unit 32 performs necessary processing based on the high-speed header included in the error-corrected encoded data 160. The data body processing unit 32 also outputs each bit of the second bit group included in the error-corrected encoded data 160 to the buffer 33. As a result, the second bit group included in the error-corrected encoded data 160 is included in the restored low-speed packet generated by the packet generation unit 36.

[0188] If error correction cannot be performed on the encoded data 160, the data body processing unit 32 may perform necessary processing based on the high-speed header included in the encoded data 160 for which error correction cannot be performed. Furthermore, the data body processing unit 32 may output to the buffer 33 the second bit group included in the encoded data 160 for which error correction cannot be performed.

[0189] <Third method of use> <Example of operation of the conversion side communication device> Fig. 15 is a schematic diagram for explaining an example of the operation of the generation unit 20 of the conversion-side communication device 10. In the third usage method, the data body generation unit 26 generates a data body 100 including the above-mentioned encoded data 160 and at least one copy 160a of the encoded data 160, as shown in Fig. 15.

[0190] The encoded data 160 and the copy 160a are the same data. Hereinafter, when there is no need to distinguish between the encoded data 160 and the copy 160a, they will each be referred to as encoded data 161. The data body 100 includes a plurality of encoded data 161, each consisting of the encoded data 160 and at least one copy 160a of the encoded data 160. The data body 100 includes at least two encoded data 161.

[0191] The data body 100 may include one copy 160a or multiple copies 160a. Also, the maximum number of encoded data 161 that can be included in the data body 100 may be generated. For example, if the number of bits of the data body 100 is 512 bits and the number of bits of the encoded data 161 is 127 bits, the maximum number of encoded data 161 that can be included in the data body 100 is four.

[0192] When the number of bits of the data body 100 is greater than the total number of bits of the plurality of coded data 161 included in the data body 100, the value of each bit of the data body 100 other than the plurality of coded data 161 may be any value. For example, each bit may be indefinite or may be a dummy fixed value.

[0193] <Example of operation of the decryption communication device> The restoration unit 30 includes, in the restored low-speed packet, the second bit group included in the coded data 161 that has been error-corrected, out of the plurality of coded data 161 included in the data body 100. Specifically, the data body processing unit 32 of the restoration unit 30 performs error correction on each coded data 161 included in the data body 100. Then, the data body processing unit 32 performs necessary processing based on the high-speed header included in the coded data 161 that has been error-corrected, out of the plurality of coded data 161 included in the data body 100. Furthermore, the data body processing unit 32 outputs each bit of the second bit group included in the coded data 161 that has been error-corrected to the buffer 33. As a result, the second bit group included in the error-corrected coded data 161 is included in the restored low-speed packet generated by the packet generation unit 36.

[0194] If error correction cannot be performed on all of the plurality of coded data 161 included in the data body 100, the data body processing unit 32 may perform necessary processing based on the high-speed header included in any one of the plurality of coded data 161. Furthermore, the data body processing unit 32 may output the second bit group included in any one of the plurality of coded data 161 to the buffer 33.

[0195] <Fourth method of use> Fig. 16 is a schematic diagram for explaining an example of the operation of the generation unit 20 of the conversion-side communication device 10. In the fourth usage method, the data body generation unit 26 of the generation unit 20 divides the third bit group, which is made up of the high-speed header and the second bit group, into Q (Q is an integer equal to or greater than 2) divided bit groups, as shown in Fig. 15. Next, the data body generation unit 26 performs error correction coding on each of the Q divided bit groups to generate Q pieces of coded data 170, each of which includes the Q divided bit groups and each of which includes an error correction bit. Then, the data body generation unit 26 generates a data body 100 including the Q pieces of coded data 170.

[0196] The error correction bits included in the encoded data 170 may be error correction bits based on, for example, BCH coding. In this case, it can be said that the data body generation unit 26 performs BCH coding on the divided bit groups to generate the encoded data 170. Note that the error correction bits included in the encoded data 170 may be error correction bits based on, for example, Reed-Solomon coding or LDPC coding.

[0197] The value of Q may be "2" or "3" or more. That is, two pieces of coded data 170 may be generated, or three or more pieces of coded data 170 may be generated. Also, the maximum number of pieces of coded data 170 that can be included in the main data body 100 may be generated. For example, if the number of bits of the main data body 100 is 512 bits and the number of bits of the coded data 170 is 127 bits, the maximum number of pieces of coded data 170 that can be included in the main data body 100 is four.

[0198] When the number of bits of the data body 100 is greater than the total number of bits of the Q pieces of encoded data 170 included in the data body 100, the value of each bit of the data body 100 other than the Q pieces of encoded data 170 may be any value. For example, each bit may be indefinite or may be a dummy fixed value.

[0199] <Example of operation of the decryption communication device> The data body processing unit 32 of the restoration unit 30 performs error correction on each piece of encoded data 170 included in the data body 100. Then, the data body processing unit 32 acquires the corresponding divided bit groups from each piece of encoded data 170 included in the data body 100. At this time, for encoded data that has been error-corrected, the data body processing unit 32 acquires the divided bit groups from the encoded data after error correction. Furthermore, if there is encoded data that has not been error-corrected, the data body processing unit 32 also acquires the divided bit groups from the encoded data that has not been error-corrected. Then, the data body processing unit 32 generates (in other words, restores) a third bit group based on the acquired Q divided bit groups. Thereafter, the data body processing unit 32 performs necessary processing based on the high-speed header included in the generated third bit group. Furthermore, the data body processing unit 32 outputs each bit of the second bit group included in the generated third bit group to the buffer 33.

[0200] As in the first, second, third and fourth usage methods described above, the remaining area of ​​the data body 100 can be effectively used, and the error resistance of the communication data can be improved.

[0201] The number of bits of the data body 100 is not always constant and may change during operation of the communication system 5. For example, the communication system 5 may have a plurality of operation modes in which the number of bits of the data body differs from each other.

[0202] Furthermore, during the period in which the communication system 5 is in operation, there may be a period in which the number of bits in the third bit group consisting of the high-speed header and the second bit group and the number of bits in the data body 100 match each other.

[0203] Also, in the above example, the number of bits of the third bit group included in the start data body 100a (e.g., 59 bits (see FIG. 10)) and the number of bits of the third bit group included in the intermediate data body 100b (e.g., 32 bits (see FIG. 11)) are different from each other, but they may be the same. For example, the number of bits of the third bit group included in the start data body 100a and the number of bits of the third bit group included in the intermediate data body 100b may each be, for example, 64 bits. In this case, the number of bits of the second bit group included in the start data body 100a is 35 bits, and the number of bits of the second bit group included in the intermediate data body 100b is 62 bits.

[0204] In the above example, the first bit group to be transmitted included in the low-speed packet was a data bit string included in A blocks BL, but it may be all of A blocks BL. In other words, the first bit group may include the start bit and stop bit of each block BL.

[0205] Furthermore, in the above example, communication device 10A is realized by a hardware circuit that does not require software to realize its functions, but all or some of the functions of communication device 10A may be functions that are realized by a processor such as a CPU (Central Processing Unit) executing software (in other words, a program) in memory. For example, all or some of the functions of generation unit 20A may be functions that are realized by a processor executing software, and all or some of the functions of restoration unit 30A may be functions that are realized by a processor executing software. Similarly, all or some of the functions of communication device 10B may be functions that are realized by a processor executing software.

[0206] The functions of the elements disclosed herein may be implemented using circuitry or processing circuitry, including general-purpose processors, special-purpose processors, integrated circuits, ASICs ("application-specific integrated circuits"), conventional circuitry, and / or combinations thereof, configured to perform the disclosed elements or programmed to perform the disclosed functions. A processor is considered to be processing circuitry or circuitry when it includes transistors and other circuitry therein. In this disclosure, a circuitry, unit, or means is hardware that performs the recited function or hardware programmed to perform the function. The hardware may be any hardware disclosed herein or other known hardware that is programmed to perform or configured to perform the recited function. When the hardware is a processor, which may be considered as a type of circuitry, the circuitry, means, or unit is a combination of hardware and software, software used to configure the hardware, and / or processor.

[0207] Although the communication system has been described in detail above, the above description is merely an example in all respects, and the present disclosure is not limited thereto. Furthermore, the various examples described above can be combined and applied as long as they are not mutually inconsistent. It is understood that countless variations not illustrated can be envisioned without departing from the scope of the present disclosure.

[0208] The present disclosure includes the following aspects.

[0209] A first communication device according to a first aspect is a first communication device that transmits a first packet at a first transmission rate, and includes: a first interface that receives a second packet that is transmitted at a second transmission rate that is lower than the first transmission rate; a generation unit that sequentially generates the first packet including the data body that includes the second bit group each time the first interface receives a second bit group that is a first bit group to be transmitted and that is included in the second packet and has a number of bits that is smaller than the number of bits of the data body that can be included in the first packet; and a second interface that sequentially transmits the first packet each time the generation unit generates the first packet.

[0210] A first communication device according to a second aspect is a first communication device according to a first aspect, wherein the generation unit determines the second transmission rate based on a second header included in the second packet, and generates the data body including a first header including transmission rate information indicating the second transmission rate and the second bit group that is the first to be transmitted from the second interface among the first bit group.

[0211] A first communication device according to a third aspect is a first communication device according to the first or second aspect, wherein the generation unit determines the data length of the second packet based on a second header included in the second packet, and generates the data body including a first header including data length information indicating the data length and the second bit group that is the first to be transmitted from the second interface among the first bit group.

[0212] A first communication device of the fourth aspect is a first communication device of any one of the first to third aspects, wherein the generation unit generates the data body including a first header including bit number identification information for identifying the number of bits of the second bit group that is the last to be transmitted from the second interface among the first bit group, and the second bit group that is the last to be transmitted from the second interface among the first bit group.

[0213] A first communication device according to a fifth aspect is a first communication device according to any one of the first to fourth aspects, wherein the generation unit generates the data body including first encoded data including a first header, a third bit group including the second bit group, and an error detection bit, and a plurality of second encoded data consisting of at least one copy of the first encoded data.

[0214] A first communication device of the sixth aspect is a first communication device of any one of the first to fourth aspects, wherein the generation unit generates the data body including first encoded data including a first header, a third bit group including the second bit group, and error correction bits.

[0215] A first communication device according to a seventh aspect is a first communication device according to a sixth aspect, wherein the generation unit generates the data body including a plurality of second encoded data consisting of the first encoded data and at least one copy of the first encoded data.

[0216] A first communication device according to an eighth aspect is a first communication device according to any one of the first to fourth aspects, wherein the generation unit divides a third bit group including a first header and the second bit group into a plurality of divided bit groups, generates a plurality of encoded data each including the plurality of divided bit groups and each including an error correction bit, and generates the data body including the plurality of encoded data.

[0217] A first communication device according to a ninth aspect is a first communication device according to any one of the first to eighth aspects, wherein the number of bits of the second bit group is based on the number of bits of the data body, the effective transmission rate of the data body, and the second transmission rate.

[0218] A first communication device according to a tenth aspect is a first communication device according to the ninth aspect, wherein the generation unit determines the number of bits of the second bit group based on the number of bits of the data body, the actual transmission rate of the data body, and the second transmission rate.

[0219] The second communication device of the eleventh aspect includes a third interface that receives the first packets sequentially transmitted by the first communication device of any one of the first to tenth aspects, a restoration unit that generates restored second packets by restoring the second packets based on the first packets sequentially received by the third interface, and a fourth interface that transmits the restored second packets.

[0220] A second communication device according to a twelfth aspect is a second communication device according to an eleventh aspect, wherein the restoration unit has a buffer into which the second bit group contained in the first packets sequentially received by the third interface is written sequentially, and when the number of bits written in the buffer becomes greater than a threshold value, the restoration unit starts reading bits from the buffer.

[0221] A second communication device according to a thirteenth aspect is a second communication device according to the eleventh or twelfth aspect, wherein the restoration unit determines the number of bits of the final second bit group, which is the second bit group among the first bit groups that is received last by the third interface, based on the number of bits of the second bit groups other than the final second bit group that are received by the third interface in the first bit group and the data length of the second packet.

[0222] A second communication device according to the fourteenth aspect includes a third interface that receives the first packets sequentially transmitted by the first communication device according to the fifth aspect, a restoration unit that generates a restored second packet by restoring the second packet based on the first packets sequentially received by the third interface, and a fourth interface that transmits the restored second packet, and the restoration unit includes in the restored second packet the second bit group contained in second coded data in which no error was detected, among the plurality of second coded data contained in the data body received by the third interface.

[0223] A second communication device according to the fifteenth aspect includes a third interface that receives the first packets sequentially transmitted by the first communication device according to the sixth aspect, a restoration unit that generates a restored second packet by restoring the second packet based on the first packets sequentially received by the third interface, and a fourth interface that transmits the restored second packet, and the restoration unit performs error correction on the first encoded data included in the data body received by the third interface.

[0224] A second communication device according to the 16th aspect includes a third interface that receives the first packets sequentially transmitted by the first communication device according to the 7th aspect, a restoration unit that generates a restored second packet by restoring the second packet based on the first packets sequentially received by the third interface, and a fourth interface that transmits the restored second packet, and the restoration unit includes in the restored second packet the second bit group contained in second coded data in which errors have been corrected, among the plurality of second coded data contained in the data body received by the third interface.

[0225] A second communication device according to the seventeenth aspect includes a third interface that receives the first packets sequentially transmitted by the first communication device according to the eighth aspect, a restoration unit that generates a restored second packet by restoring the second packet based on the first packets sequentially received by the third interface, and a fourth interface that transmits the restored second packet, and the restoration unit performs error correction on each of the plurality of encoded data included in the data body received by the third interface.

[0226] A communication system according to an 18th aspect includes a first communication device according to any one of the 1st to 10th aspects and a second communication device according to any one of the 11th to 13th aspects.

[0227] A communication system according to a nineteenth aspect includes the first communication device according to the fifth aspect and the second communication device according to the fourteenth aspect.

[0228] A communication system according to a twentieth aspect includes the first communication device according to the sixth aspect and the second communication device according to the fifteenth aspect.

[0229] A communication system according to a twenty-first aspect includes the first communication device according to the seventh aspect and the second communication device according to the sixteenth aspect.

[0230] A communication system according to a twenty-second aspect includes the first communication device according to the eighth aspect and the second communication device according to the seventeenth aspect. [Explanation of symbols]

[0231] 5. Communication Systems 10, 10A, 10B communication equipment 12, 12A, 12B, 13, 13A, 13B interfaces 20, 20A, 20B generation section 30, 30A, 30B restoration section 33 buffers 100 Data body 100a First data body 100b Intermediate data body 100c Final data body 105 Ancillary Data 110a First header 110b Intermediate Header 110c Final Header 205 Header PK1 First packet (high-speed packet) PK2 Second packet (low speed packet)

Claims

1. a first communication device that transmits a first packet at a first transmission rate, a first interface configured to receive second packets transmitted at a second transmission rate lower than the first transmission rate; a generating unit that generates the first packet including the data body including the second bit group, each time the first interface receives a second bit group having a number of bits smaller than the number of bits of the data body that can be included in the first packet, from among the first bit groups to be transmitted and included in the second packet; a second interface that sequentially transmits the first packets every time the generation unit generates the first packets; A first communication device comprising:

2. 2. The first communication device according to claim 1, The generation unit determining the second transmission rate based on a second header included in the second packet; a first communication device that generates the data body including a first header including transmission rate information indicating the second transmission rate and the second bit group that is the first to be transmitted from the second interface among the first bit group;

3. 3. The first communication device according to claim 1 or claim 2, The generation unit determining a data length of the second packet based on a second header included in the second packet; A first communication device that generates the data body including a first header including data length information indicating the data length and the second bit group that is the first to be transmitted from the second interface among the first bit group.

4. 3. The first communication device according to claim 1 or claim 2, The generation unit generates the data body including a first header including bit number identification information for identifying the number of bits of the second bit group that is the last to be transmitted from the second interface among the first bit group, and the second bit group that is the last to be transmitted from the second interface among the first bit group.

5. 3. The first communication device according to claim 1 or claim 2, The generation unit generates the data body including first encoded data including a first header, a third bit group including the second bit group, and an error detection bit, and a plurality of second encoded data consisting of at least one copy of the first encoded data.

6. 3. The first communication device according to claim 1 or claim 2, The first communication device, wherein the generation unit generates the data body including first encoded data including a first header, a third bit group including the second bit group, and error correction bits.

7. 7. The first communication device according to claim 6, The first communication device, wherein the generation unit generates the data body including a plurality of second encoded data pieces each consisting of the first encoded data and at least one copy of the first encoded data.

8. 3. The first communication device according to claim 1 or claim 2, The generation unit Dividing a third bit group including the first header and the second bit group into a plurality of divided bit groups; generating a plurality of coded data each including the plurality of divided bit groups and each including an error correction bit; A first communication device generates the data body including the plurality of encoded data.

9. 3. A first communication device according to claim 1 or claim 2, The first communication device, wherein the number of bits of the second bit group is based on the number of bits of the data body, the effective transmission rate of the data body, and the second transmission rate.

10. 10. The first communication device according to claim 9, The first communication device, wherein the generation unit determines the number of bits of the second bit group based on the number of bits of the data body, an effective transmission rate of the data body, and the second transmission rate.

11. a third interface that receives the first packets sequentially transmitted by the first communication device according to claim 1 or 2; a restoration unit that restores the second packets based on the first packets sequentially received by the third interface to generate restored second packets; a fourth interface for transmitting the restored second packet; A second communication device comprising:

12. 12. The second communication device according to claim 11, The restoration unit has a buffer into which the second bit group contained in the first packets sequentially received by the third interface is written sequentially, and when the number of bits written in the buffer becomes greater than a threshold value, starts reading bits from the buffer.

13. 12. The second communication device according to claim 11, The second communication device, wherein the restoration unit determines the number of bits of the final second bit group, which is the second bit group among the first bit groups that the third interface receives last, based on the number of bits of second bit groups other than the final second bit group received by the third interface in the first bit group and the data length of the second packet.

14. a third interface that receives the first packets sequentially transmitted by the first communication device according to claim 5; a restoration unit that restores the second packets based on the first packets sequentially received by the third interface to generate restored second packets; a fourth interface for transmitting the restored second packet; Equipped with The second communication device, wherein the restoration unit includes the second bit group contained in the second encoded data in which no error was detected, among the plurality of second encoded data contained in the data body received by the third interface, in the restored second packet.

15. a third interface that receives the first packets sequentially transmitted by the first communication device according to claim 6; a restoration unit that restores the second packets based on the first packets sequentially received by the third interface to generate restored second packets; a fourth interface for transmitting the restored second packet; Equipped with The second communication device, wherein the restoration unit performs error correction on the first encoded data included in the data body received by the third interface.

16. a third interface that receives the first packets sequentially transmitted by the first communication device according to claim 7; a restoration unit that restores the second packets based on the first packets sequentially received by the third interface to generate restored second packets; a fourth interface for transmitting the restored second packet; Equipped with The second communication device, wherein the restoration unit includes the second bit group contained in the second encoded data in which errors have been corrected, among the plurality of second encoded data contained in the data body received by the third interface, in the restored second packet.

17. a third interface that receives the first packets sequentially transmitted by the first communication device according to claim 8; a restoration unit that restores the second packets based on the first packets sequentially received by the third interface to generate restored second packets; a fourth interface for transmitting the restored second packet; Equipped with The second communication device, wherein the restoration unit performs error correction on each of the plurality of coded data included in the data body received by the third interface.

18. A first communication device according to claim 1 or claim 2; a second communication device according to claim 11; A communication system comprising:

Citation Information

Patent Citations

  • Vibrating drill

    JP2007015061A