Communication device, communication system, and communication method

The communication device and system dynamically adjust packet priorities within TDD time slots to optimize transmission efficiency, addressing latency issues in serial communication systems by rotating priorities and sharing time slots for different serial signals.

JP7783246B2Active Publication Date: 2025-12-09SONY SEMICON SOLUTIONS CORP
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
JP2023502348
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-11-29
Filing Date
2022-02-18
Publication Date
2025-12-09
Estimated Expiration
2042-02-18

AI Technical Summary

Technical Problem

Existing serial communication systems using the TDD method face increased transmission latency due to inefficient allocation of TDD time slots for serial signals with different transmission frequencies and volumes, leading to potential idle slots and delayed transmission of high-frequency signals.

Method used

A communication device and system that dynamically adjusts the priority of application packets within specific TDD time slots based on a rotating order, ensuring efficient transmission of multiple serial signals by allocating shared time slots for infrequently transmitted signals and prioritizing higher priority packets.

Benefits of technology

This approach reduces transmission latency and improves efficiency by optimizing the use of TDD time slots, allowing simultaneous transmission of various serial signals with minimal latency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007783246000001
    Figure 0007783246000001
  • Figure 0007783246000002
    Figure 0007783246000002
  • Figure 0007783246000003
    Figure 0007783246000003
Patent Text Reader

Abstract

[Problem] To improve transmission efficiency while minimizing transmission latency. [Solution] This communication device is provided with: a communication unit for periodically sending to a communication partner device a plurality of application packets corresponding to a plurality of serial signals generated by a plurality of applications, each period comprising a plurality of time division duplex (TDD) time slots, each TDD time slot comprising a section allocated by TDD; and a transmission control unit for providing, in the plurality of TDD time slots, at least one specific TDD time slot for sending some application packets corresponding to two or more of the plurality of applications, and changing, in each period, the priority of the some application packets that are sent within the specific TDD time slot.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a communication device, a communication system, and a communication method. [Background technology]

[0002] A technique has been proposed for performing high-speed serial communication between a Master SerDes and a Slave SerDes (see Patent Document 1).

[0003] When serial communication is performed between two SerDes, if there is a large difference between the amount of data sent from one SerDes to the other and the amount of data sent from the other SerDes to the first SerDes, it is possible to adopt the TDD (Time Division Duplex) method to create a difference in data transmission capacity between the upstream and downstream directions. The TDD method is a half-duplex communication method that cannot perform upstream and downstream communication simultaneously, and is only capable of one-way communication. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Japanese Patent Application Laid-Open No. 2011-239011 Summary of the Invention [Problem to be solved by the invention]

[0005] There is not just one serial communication standard; there are various standards such as SPI (Serial Peripheral Interface), GPIO (General Purpose Input / Output), I2C (Inter-Integrated Circuit), etc. When transmitting and receiving multiple types of serial signals of these different standards between two SerDes using the TDD method, the serial signals of each standard must be converted into packets that comply with the TDD method standard.

[0006] In the TDD system, packets containing serial signals are sometimes sent and received in TDD time slots. To send and receive multiple types of serial signals with different standards using the TDD system, it is possible to generate multiple packets containing each type of serial signal and assign each packet to a different TDD time slot for transmission.

[0007] However, because multiple types of serial signals conforming to different standards have different transmission frequencies and signal volumes, there is a problem of increased transmission latency unless TDD time slot allocation is optimized. In particular, if TDD time slots are allocated periodically to packets containing serial signals with low transmission frequencies, there is a possibility that no packets to be transmitted will be available in the allocated TDD time slots. Furthermore, allocating TDD time slots to packets containing serial signals with low transmission frequencies may delay the timing of transmitting packets containing serial signals with high transmission frequencies, resulting in increased transmission latency.

[0008] Therefore, the present disclosure provides a communication device, a communication system, and a communication method that can improve transmission efficiency while minimizing transmission latency. [Means for solving the problem]

[0009] In order to solve the above problems, according to the present disclosure, there is provided a communication unit that periodically transmits a plurality of application packets corresponding to a plurality of serial signals generated by a plurality of applications to a communication partner device, with a section allocated by TDD (Time Division Duplex) being one TDD time slot and a plurality of the TDD time slots being one cycle; A communication device is provided that includes: at least one specific TDD time slot among the plurality of TDD time slots for transmitting some application packets corresponding to some of two or more of the plurality of applications; and a transmission control unit that changes the priority of the some application packets transmitted in the specific TDD time slot for each period.

[0010] The transmission control unit may change the priority of the some application packets every one period in a preset order or according to a user's designation.

[0011] The transmission control unit may change the priority of the part of the application packets transmitted in the specific TDD time slot in a rotating manner for each period.

[0012] The transmission control unit may preferentially transmit packets corresponding to applications with higher priorities in the specific TDD time slots.

[0013] The transmission control unit may check whether an application with a higher priority has a packet ready to be transmitted in the specific TDD time slot, and if not, check whether an application with a next higher priority has a packet ready to be transmitted in the specific TDD time slot.

[0014] The transmission control unit may repeat the process of checking whether packets to be transmitted are ready, in descending order of priority, until a packet that can be transmitted in the specific TDD time slot is found.

[0015] The transmission control unit may stop transmitting valid packets in the specific TDD time slot if none of the certain applications has a packet ready to be transmitted in the specific TDD time slot.

[0016] The transmission control unit may provide, within the one period, a dedicated TDD time slot, separate from the specific TDD time slot, for transmitting a packet including a serial signal generated by a pre-specified application.

[0017] The pre-specified application may be an application other than the part of the applications among the plurality of applications.

[0018] The transmission control unit may set the number of the dedicated TDD time slots included in the plurality of periods to be greater than the number of the specific TDD time slots.

[0019] the certain applications include at least one of an application that generates packets for I2C (Inter-Integrated Circuit) communication and an application that generates packets for GPIO (General Purpose Input / Output) communication; The pre-specified application may include at least one of an application that generates packets for SPI (Serial Peripheral Interface) communication and an application that generates packets for OAM (Operation, Administration, Maintenance).

[0020] The transmission control unit may change the priority of the some of the applications by one step for each cycle, and when the priority reaches the lowest or highest, set the priority to the highest or lowest in the next cycle.

[0021] The transmission control unit may determine whether to assign the dedicated time slot to the corresponding application or whether to share the specific TDD time slot with other applications based on at least one of the transmission frequency and signal volume of the serial signals generated by each of the multiple applications.

[0022] a plurality of encapsulators provided for each of the plurality of applications, each encapsulator generating a packet including a serial signal generated by a corresponding application and outputting a ready signal indicating whether or not the packet has been generated; a frame constructing unit that generates a link frame to be transmitted to the communication partner device within the one period based on the plurality of packets generated by the plurality of encapsulators, The frame constructor may include a scheduler that manages the priority of the specific TDD time slot and determines the application that will transmit a packet in the specific TDD time slot based on two or more ready signals generated by two or more of the encapsulators corresponding to the some of the applications.

[0023] The frame constructor a plurality of container manufacturers that generate containers each including a container payload containing a packet generated by each of the plurality of encapsulators and a container header; The system may further include a multiplexer that, under the management of the scheduler, selects one by one of the plurality of containers generated by the plurality of container manufacturers and generates the link frame.

[0024] The number of the plurality of container manufacturers may be the same as the number of TDD time slots in one period.

[0025] a plurality of encapsulators provided for each of the plurality of applications, each encapsulator generating a packet including a serial signal generated by a corresponding application and outputting a ready signal indicating whether or not the packet has been generated; a packet selection unit that manages the priority of the specific TDD time slot and selects a packet to be transmitted in the specific TDD time slot from among two or more packets generated by the two or more encapsulators based on two or more ready signals generated by the two or more encapsulators corresponding to the part of applications; a frame constructing unit that generates a link frame to be transmitted to the communication partner device within the one period based on the packets selected by the packet selecting unit and packets corresponding to applications other than the part of the applications among the plurality of applications, The frame constructor may include a scheduler that manages packets transmitted in the plurality of TDD time slots within one period.

[0026] The frame constructor a plurality of container makers that each generate a container including a container payload that includes the packet selected by the packet selection unit and a packet corresponding to an application other than the part of the applications among the plurality of applications, and a container header that corresponds to the container payload; The system may further include a multiplexer that, under the management of the scheduler, selects one by one of the plurality of containers generated by the plurality of container manufacturers and generates the link frame.

[0027] The number of the plurality of container manufacturers may be less than the number of TDD time slots in one period.

[0028] According to the present disclosure, a first communication device and a second communication device are provided which transmit and receive packets in TDD (Time Division Duplex) using a predetermined communication protocol, The first communication device a communication unit that periodically transmits a plurality of application packets corresponding to serial signals generated by a plurality of applications to a communication partner device, the plurality of application packets being one period consisting of a plurality of TDD time slots, the period being one TDD time slot; a transmission control unit that provides at least one specific TDD time slot among the plurality of TDD time slots for transmitting application packets corresponding to some of two or more of the plurality of applications, and changes the priority of the some of the application packets transmitted in the specific TDD time slot for each period; A communication system is provided in which the second communication device has a second communication unit that receives packets transmitted from the first communication device and periodically transmits packets to the first communication device, with the plurality of TDD time slots serving as one period.

[0029] According to the present disclosure, a section allocated by TDD (Time Division Duplex) is defined as one TDD time slot, and a plurality of the TDD time slots are defined as one cycle, and a plurality of application packets corresponding to serial signals generated by a plurality of applications are periodically transmitted to a communication partner device; A communication method is provided in which at least one specific TDD time slot is provided among the plurality of TDD time slots for transmitting some application packets corresponding to some of two or more of the plurality of applications, and the priority of the some application packets transmitted in the specific TDD time slot is changed every one period. [Brief explanation of the drawings]

[0030] [Figure 1] FIG. 1 is a block diagram showing a schematic configuration of a communication system. [Figure 2] A block diagram of a communication system that embodies the internal configuration of a SerDes. [Figure 3] 1A and 1B are diagrams showing the configuration of a link frame and a transmission symbol transmitted by a PHY unit. [Figure 4] FIG. 3 is a block diagram showing the internal configuration of a frame construction unit in the SerDes shown in FIG. 2. [Figure 5] FIG. 3 is a diagram showing the transmission timing of the SerDes in FIG. 2. [Figure 6] This diagram shows the transmission timing when an I2C signal is input from the ECU to the SerDes. [Figure 7] FIG. 2 is a block diagram of a frame constructor according to the first embodiment of the present disclosure. [Figure 8] 8 is a flowchart showing the processing operation of the scheduler in FIG. 7; [Figure 9] FIG. 2 is a diagram showing transmission timing in an UP Link according to the present embodiment. [Figure 10] FIG. 10 is a block diagram showing a frame constructor and its peripheral configuration according to a second embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0031] Hereinafter, embodiments of a communication device, a communication system, and a communication method will be described with reference to the drawings. The following description will focus on the main components of the communication device and the communication system, but the communication device and the communication system may include components and functions that are not shown or described. The following description does not exclude components and functions that are not shown or described.

[0032] A communication system according to the present disclosure performs serial communication between two SerDes. FIG. 1 is a block diagram showing a schematic configuration of a communication system 1 equipped with two SerDes 200 (SerDes #1) and SerDes 400 (SerDes #2). FIG. 1 shows an example in which the SerDes 200 and SerDes 400 perform serial communication. The SerDes 200 and SerDes 400, which are high-speed serial interface devices, are connected by a cable 300 several to tens of meters long. An ECU 100 is connected to the SerDes 200, and a peripheral device 500 (Peripheral #1) and a peripheral device 600 (Peripheral #2) are connected to the SerDes 400. The ECU 100 receives main data such as a video signal and transmits the data, and also controls the entire system by sending and receiving SPI (Serial Peripheral Interface) signals, I2C (Inter-Integrated Circuit) signals, and GPIO (General Purpose IO) signals.

[0033] On the other hand, a peripheral device 500 connected to the SerDes 400 transmits high-speed, large-capacity main data such as video signals and also transmits and receives control signals via SPI and GPIO. A peripheral device 600 connected to the SerDes 400 transmits and receives low-speed signals such as observation data and control signals via I2C and GPIO.

[0034] A communication system equipped with two SerDes 200, 400 as shown in Figure 1 is installed in various devices, including an in-vehicle camera module. FPD-LINK is known as an interface technology for serial communication between the two SerDes 200, 400. Currently, the Automotive SerDes Alliance (ASA), a high-speed serial interface standards organization, is working on standardizing high-speed serial interface technology for automobiles. The difference between FPD-LINK and ASA is that FPD-LINK uses frequency division duplex (FDD) to achieve bidirectional communication, while ASA uses time division duplex (TDD).

[0035] The lower left of Figure 1 shows the packet transmission timing and frequency band for FDD, and the lower right shows the packet transmission timing and frequency band for ASA. In FDD, the down link and up link use separate frequency bands and send and receive packets in parallel during overlapping periods. In contrast, in TDD, the down link and up link use overlapping frequency bands and send and receive packets in a time-division manner.

[0036] FIG. 2 is a block diagram of a communication system 1 that embodies the internal configuration of the SerDes 200, 400. FIG. 2 shows an example in which an application includes an SPI signal, an I2C signal, and a GPIO signal. As shown in FIG. 2, the SerDes 200 includes a PHY block 200-1, a LINK block 200-2, multiple encapsulators (Application Stream Encapsulators) 200-3, multiple deencapsulators (Application Stream Deencapsulators) 200-4, and control registers 200-5. The PHY block 200-1 includes an UP Link transmitter 200-1-1 and a Down Link transmitter 200-1-2. The LINK unit 200-2 has a frame constructor 200-2-1, a frame deconstructor 200-2-2, and an OAM (Operation, Administration, Maintenance) unit 200-2-3.

[0037] The ECU 100 generates SPI signals, I2C signals, and GPIO signals, which are control signals, as required for processing, and outputs these serial signals to the SerDes 200. A plurality of encapsulators 200-3 in the SerDes 200 are provided for each application (for example, for each of the SPI signals, I2C signals, and GPIO signals). Each encapsulator 200-3 generates a corresponding application packet.

[0038] The encapsulator 200-3 for the SPI signal receives the SPI signal from the ECU 100 and generates an application packet including the SPI signal. The encapsulator 200-3 for the I2C signal receives the I2C signal from the ECU 100 and generates an application packet including the I2C signal. The encapsulator 200-3 for the GPIO signal receives the GPIO signal from the ECU 100 and generates an application packet including the GPIO signal.

[0039] The multiple deencapsulators 200-4 in the SerDes 200 are provided for each application. The main data deencapsulator 200-4 restores the main data from the received application packets and transmits the main data to the ECU 100. The SPI signal deencapsulator 200-4 restores the SPI signal from the received application packets and transmits the SPI signal to the ECU 100. The I2C signal deencapsulator 200-4 restores the I2C signal from the received application packets and transmits the I2C signal to the ECU 100. The GPIO signal deencapsulator 200-4 restores the GPIO signal from the received application packets and transmits the GPIO signal to the ECU 100.

[0040] 3 is a diagram showing the configurations of application packets generated by multiple encapsulators 200-3, link frames generated by LINK unit 200-2, and transmission symbols transmitted by PHY unit 200-1. As shown in (3-1) of FIG. 3, the application packet has a packet header and application packet data.

[0041] The LINK unit 200-2 generates a container for each of the multiple encapsulators 200-3, and generates a link frame including the multiple containers. As shown in (3-2) of Figure 3, the container has a container header and a container payload. The container header includes destination (address) information of the receiving device supplied from the control register 200-5 and address information of the deencapsulator 200-4.

[0042] The link frame generated by the LINK unit 200-2 is supplied to the UP Link transmitter 200-1-1 of the PHY unit 200-1. The UP Link transmitter 200-1-1 adds a sync header required for synchronization processing on the receiving side to the link frame ((3-3) in FIG. 3) to generate a transmission frame ((3-4) in FIG. 3), and then performs modulation processing such as binary transmission (NRZ) or quaternary transmission (PAM4), converts it into a transmission symbol ((3-5) in FIG. 3), and outputs it to the cable 300. This completes the transmission processing on the UP Link side.

[0043] One transmission frame ((3-4) in Figure 3) is transmitted within one TDD time slot in the TDD system. In the TDD system, downlink transmission and uplink transmission are performed once each at separate times within one TDD burst period. The above-mentioned transmission frame is transmitted, for example, within the downlink transmission period. For example, if the uplink transmits only control signals and the downlink transmits video signals that include control signals, the downlink will generally occupy more time, with the time ratio being 1:several tens of times.

[0044] 4 is a block diagram showing the internal configuration of the frame constructor 200-2-1 in the SerDes 200 in FIG. 2. The frame constructor 200-2-1 has a plurality of container makers 200-2-1-1 corresponding to a plurality of encapsulators 200-3, a multiplexer 200-2-1-3, and a scheduler 200-2-1-2. Each encapsulator 200-3 has a packet maker 200-3-1 and a buffer 200-3-3. Application packets generated by each packet maker 200-3-1 are temporarily stored in the buffer 200-3-3 and then input to the corresponding container maker 200-2-1-1 in the frame constructor 200-2-1 in accordance with instructions from the scheduler 200-2-1-2.

[0045] Each container maker 200-2-1-1 receives a corresponding application packet from the corresponding encapsulator 200-3 or OAM unit 200-2-3 and generates a corresponding container. The containers generated by each container maker 200-2-1-1 are input to a multiplexer 200-2-1-3. The scheduler 200-2-1-2 outputs a timing adjustment signal that determines the timing at which each container is to be output. The multiplexer 200-2-1-3 generates a link frame including multiple containers based on the timing adjustment signal from the scheduler 200-2-1-2.

[0046] At system startup, a schedule according to the transmission bandwidth required by the application transmitted by ECU 100 is transferred to control register 200-5 by some means not shown in Fig. 2. Control register 200-5 supplies the schedule to scheduler 200-2-1-2. Therefore, containers transmitting wideband information such as video signals are controlled so that they are selected more frequently per unit time by multiplexer 200-2-1-3, while low-speed signals such as GPIO are selected less frequently.

[0047] Similarly, an OAM signal including a schedule generated by the ECU 100 is also supplied to the internal scheduler of the frame constructor 400-2-1 of the SerDes 400 via the UP Link.

[0048] Next, the reception processing on the UP Link side of the SerDes 400 will be described. As shown in Fig. 2, the SerDes 400 has a PHY unit (PHY block) 400-1, a LINK unit (LINK block) 400-2, multiple encapsulators (Application Stream Encapsulators) 400-3, multiple deencapsulators (Application Stream De-encapsulators) 400-4, and control registers 400-5. The PHY unit 400-1 has a Down Link transmitter (Down Link Tx) 400-1-1 and an Up Link receiver (UP Link Rx) 400-1-2. The LINK unit 400-2 has a frame constructor 400-2-1, a frame disassembler 400-2-2, and an OAM unit 400-2-3.

[0049] The main data encapsulator 400-3 receives main data from the peripheral device 500 and generates an application packet including the main data. The SPI signal encapsulator 400-3 receives SPI signals from the peripheral device 500 and generates an application packet including the SPI signals. The GPIO signal encapsulator 400-3 receives GPIO signals from the peripheral device 500 and generates an application packet including the GPIO signals. The I2C signal deencapsulator 400-4 restores I2C signals from the received packets and transmits them to the peripheral device 600. The GPIO signal deencapsulator 400-4 restores GPIO signals from the received packets and transmits them to the peripheral device 600.

[0050] The SerDes 400 generates a clock synchronized with the symbol frequency using the sync signal added to the beginning of the transmission symbol ((3-5) in FIG. 3) received from the SerDes 200, and reproduces the transmission frame ((3-4) in FIG. 3). The sync header is removed from the reproduced transmission frame ((3-4) in FIG. 3) to generate a link frame ((3-3) in FIG. 3), which is input to the frame decomposition unit 400-2-2 in the LINK unit 400-2.

[0051] The frame decomposition unit 400-2-2 divides the link frame ((3-3) in Figure 3) into containers ((3-2) in Figure 3), obtains the address information of the decapsulator 400-4 from the container header of each container, and outputs the application packet ((3-1) in Figure 3) contained in the container payload of that container to the corresponding decapsulator 400-4.

[0052] Each deencapsulator 400-4 reconstructs the application packet data in the application packet into the format of each application based on the packet header in the corresponding application packet, and outputs the reconstructed data to the corresponding peripheral device 500, 600.

[0053] The process on the Down Link side for transmitting information from the peripheral devices 500 and 600 to the ECU 100 is the same as the process on the Up Link side, and therefore a description thereof will be omitted.

[0054] In the ASA standard, which is a TDD method, the number of times per unit time that a container ((3-2) in Figure 3) that stores each application to be transmitted is transmitted and the transmission order are predetermined at the time of system design. This keeps the latency for each application roughly constant, avoiding problems such as application transmission jitter. This is extremely convenient for the continuous transmission of large amounts of data such as video signals. On the other hand, the SPI signals, I2C signals, and GPIO signals, which are primarily used to control peripheral devices, do not require transmission bandwidths that are narrower than those required for video signals.

[0055] FIG. 5 is a diagram showing the transmission timing of the SerDes 200 in FIG. 2. In FIG. 5, six TDD time slots constitute one cycle, and the frame constructor 200-2-1 on the UP Link side sets the transmission schedule for each application packet. As shown in FIG. 5, the switching time between the Down Link and the UP Link is the TDD transmission time unit (one TDD burst period = one TDD time slot). In the example of FIG. 5, one application packet is transmitted per TDD time slot on the UP Link ((5-1) in FIG. 5). In this case, the application packet containing the OAM signal is transmitted once per six TDD time slots, the application packet containing the SPI signal is transmitted four times per six TDD time slots, and the GPIO and I2C signals are transmitted once per 12 TDD time slots ((5-2) in FIG. 5).

[0056] As shown in FIGS. 2 to 4, the SPI signal, I2C signal, and GPIO signal input to SerDes 200 are first input to encapsulator 200-3, converted into corresponding application packets, buffered, and input to frame constructor 200-2-1 according to the read timing of scheduler 200-2-1-2. The read timing determined by scheduler 200-2-1-2 coincides with the transmission schedule of each application shown in (5-1) and (5-2) of FIG. 5. For example, SPI signal application packets SPI #m and #m+1 are transmitted in TDD time slots #9 and #10 (FIG. 5 (5-3)), and GPIO application packets GPI #n and #n+1 (FIG. 5 (5-5)) are transmitted in TDD time slots #14 and #26, respectively (FIG. 5 (5-2)).

[0057] However, since the I2C signal is in an idle state at this point ((5-8) in FIG. 5), there is no need to transmit the application packet of the I2C signal ((5-8) in FIG. 5).

[0058] 6 is a diagram showing transmission timing when an I2C signal is input from the ECU 100 to the SerDes 200. In the case of FIG. 6, an application packet of the I2C signal is transmitted in TDD time slot #20.

[0059] Here, we assume that a signal such as an interrupt signal, which requires a small transmission bandwidth but whose signal state change cannot be predicted in advance, is transmitted using a GPIO signal. As shown in Figure 5, because the bandwidth required for transmitting a GPIO signal is small, a TDD time slot is allocated once every 12 TDD time slots. In this case, changes in the GPI signal ((5-6) in Figure 5) input from ECU 100 are sampled at 12 TDD time slot intervals, converted into GPIO packets GPI #n and #n+1 ((5-5) in Figure 5), and transmitted in TDD time slots #14 and #26, respectively ((5-2) in Figure 5).

[0060] The change in the GPI signal ((5-6) in Figure 5) input from the ECU 100 occurred around TDD time slots #2 to #3, but the timing at which this change was packetized and transmitted was TDD time slot #26, which is the transmission latency. For example, if one TDD burst period is about 30 usec, a transmission latency of about 690 usec will occur.

[0061] To shorten the transmission latency of a certain application, it is sufficient to increase the frequency with which TDD time slots are allocated to that application. However, since that application does not transmit signals all the time, but only when necessary, if the required transmission bandwidth is small, the utilization efficiency of TDD time slots will decrease.

[0062] Therefore, the communication device and communication system according to the present disclosure are characterized by improving transmission efficiency while reducing transmission latency as much as possible when transmitting multiple applications to which transmission schedules have been assigned in advance using the TDD transmission method.

[0063] (First embodiment) Figure 7 is a block diagram of a frame constructor 200-2-1 according to the first embodiment of the present disclosure. In Figure 7, components common to the frame constructor 200-2-1 in Figure 4 are assigned the same reference numerals, and the following description will focus on the differences. As in Figure 4, the frame constructor 200-2-1 in Figure 7 has multiple container makers 200-2-1-1 corresponding to multiple encapsulators 200-3, a multiplexer 200-2-1-3, and a scheduler 200-2-1-4.

[0064] The frame constructor 200-2-1 in FIG. 7 differs from the scheduler 200-2-1-4 in FIG. 4 in the operation of the scheduler 200-2-1-4. Furthermore, each encapsulator 200-3 shown in FIG. 7 outputs a data ready signal when it stores an application packet generated by the corresponding packet maker 200-3-1 in the corresponding buffer 200-3-3. The data ready signal is a signal indicating that a valid application packet is stored in the corresponding buffer 200-3-3. The data ready signal from each encapsulator 200-3 is input to the scheduler 200-2-1-4. The scheduler 200-2-1-4 controls the order in which containers generated by each container maker 200-2-1-1 are included in a transmission frame based on the data ready signal from each encapsulator 200-3.

[0065] Fig. 8 is a flowchart showing the processing operation of scheduler 200-2-1-4 in Fig. 7. Fig. 9 is a diagram showing transmission timing in the UP Link according to this embodiment. Hereinafter, the processing operation of the communication device and communication system according to this embodiment will be described with reference to Figs. 7 to 9.

[0066] Similar to the scheduler 200-2-1-2 in FIG. 4, the scheduler 200-2-1-4 in FIG. 7 determines in advance which application packet is to be assigned to which TDD time slot for transmission by schedule management via the control register 200-5 from the ECU 100 before the communication system starts transmission.

[0067] The ECU 100 or the control register 200-5 prepares a specific TDD time slot (shared time slot) in the scheduler 200-2-1-4, and allocates multiple application packets to the shared time slot instead of allocating a single application packet to the specific shared time slot. The application packet sent in this specific shared time slot is allocated to a signal that has a relatively narrow transmission bandwidth and is transmitted infrequently, such as a control signal.

[0068] Furthermore, ECU 100 or control register 200-5 sets the output priority of application packets assigned to shared time slots to scheduler 200-2-1-4. The number of shared time slots to be provided, the application packets to be assigned, and the priority are changed depending on the system and operational conditions. The priority may be determined, for example, at the time of system design. That is, the order in which the priority is to be periodically changed may be determined at the time of system design and stored in a memory or register (not shown). Alternatively, the priority or the order in which the priority is changed may be set by a register value that can be updated by the user as needed. In this case, the priority or the order in which the priority is changed can be changed by the user updating the register value at an appropriate timing.

[0069] Scheduler 200-2-1-4 determines whether the TDD time slot to be scheduled is a shared time slot (step S1). For example, TDD time slots #2, #8, #14, #20, and #26 in FIG. 9 are determined to be shared time slots.

[0070] If it is a shared time slot, it is determined whether the highest priority application packet is stored in the corresponding buffer 200-3-3 based on the data ready signal (step S2). If it is stored in buffer 200-3-3, it is determined that the application packet is ready, and a container is generated by container maker 200-2-1-1 corresponding to the application packet stored in buffer 200-3-3, and the generated container is selected by multiplexer 200-2-1-3 to compose a link frame (step S3).

[0071] Thereafter, the priority of the shared time slot is changed by one level (step S4). For example, if there are application packets A, B, and C, the priorities of the four shared time slots #2, #8, #14, #20, and #26 in Figure 9 are changed, for example, as follows: Note that the following is just an example, and the order in which the priorities are changed is arbitrary.

[0072] Shared time slot #2 priority: A → B → C Shared time slot #8 priority: B → C → A Shared time slot #14 priority: C → A → B Shared time slot #20 priority: A → B → C Shared time slot #26 priority: B → C → A

[0073] When the process of step S4 in Figure 8 is completed, the processes from step S1 onwards are repeated. More specifically, for example, in Figure 9, the priority of TDD time slot #2 is GPIO > I2C, the priority of the next TDD time slot #8 is I2C > GPIO, and the priority of the next TDD time slot #14 is restored to GPIO > I2C. This ensures that the transmission bandwidth originally allocated to the application packet is secured. In this way, the priority of the shared time slots is switched in rotation every cycle.

[0074] If it is determined in step S2 that no application packet is stored in buffer 200-3-3, it is determined whether or not there is an application packet with the next highest priority (step S5). If it is determined that there is, it is determined whether or not the application packet determined to be present is stored in the corresponding buffer 200-3-3 based on the data ready signal (step S6). If it is determined that the application packet is stored in the corresponding buffer 200-3-3, the process proceeds to step S3. For example, in TDD time slot #8 in FIG. 9, the highest priority packet is an application packet including an I2C signal. However, at this point, the I2C signal is null, and the application packet including the I2C signal is not stored in the corresponding buffer 200-3-3. Therefore, the determination in step S2 in FIG. 8 is NO, and the process proceeds to step S5, where it is determined whether or not there is an application packet with the next highest priority. In TDD time slot #8 in FIG. 9, the next highest priority packet after the I2C signal is a GPIO signal. At this point, the application packet including the GPIO signal is stored in the corresponding buffer 200-3-3 (GPI#n+1 in 9-5 of FIG. 9). The container maker 200-2-1-1 corresponding to this application packet then generates a container including this application packet.

[0075] On the other hand, if it is determined in step S5 that there is no application packet with the next highest priority, the process proceeds to step S4. For example, in TDD time slot #14 of FIG. 9, the highest priority packet is an application packet containing a GPIO signal. At this point, no application packet to be transmitted is stored in buffer 200-3-3 in encapsulator 200-3 for the GPIO signal. Therefore, step S2 of FIG. 8 is determined as NO, and the process proceeds to step S5 to determine whether there is an application packet with the next highest priority. In TDD time slot #14 of FIG. 9, the next highest priority packet is an I2C signal. At this point, the I2C signal is null, and no valid application packet is stored in corresponding buffer 200-3-3. Therefore, step S5 is determined as NO, and the priority of the shared time slot is switched in step S4.

[0076] If it is determined in step S1 that the time slot is not a shared time slot, scheduler 200-2-1-4 selects the specified application packet, container maker 200-2-1-1 generates a container corresponding to the selected application packet, and multiplexer 200-2-1-3 selects the generated container to configure a link frame (step S7). When the process of step S7 is completed, the processes from step S1 onwards are repeated.

[0077] As described above, in the first embodiment, when serial transmission is performed using the TDD system, a shared time slot capable of transmitting packets containing any of multiple types of serial signals is provided within one cycle consisting of multiple TDD time slots. Multiple types of application packets containing infrequently transmitted application signals are transmitted using the shared time slot, and the priority of the multiple types of application packets transmitted using the shared time slot is changed in rotation, allowing multiple types of application packets to be transmitted with equal transmission latency. Furthermore, by transmitting multiple types of infrequently transmitted application packets using the shared time slot, the number of TDD time slots allocated to frequently transmitted application packets can be increased, further reducing the transmission latency of frequently transmitted application packets. Therefore, according to this embodiment, multiple types of serial signals corresponding to multiple applications can be efficiently transmitted using the TDD system.

[0078] (Second embodiment) The second embodiment differs from the first embodiment in the configuration of a frame constructor 200-2-1 in a link unit 200-2 and its surroundings.

[0079] 10 is a block diagram showing a frame constructor 200-2-1 and its peripheral configuration according to the second embodiment. In the second embodiment, a packet selector 200-6 is arranged between a plurality of encapsulators 200-3 and the frame constructor 200-2-1.

[0080] The packet selector 200-6 performs some of the functions of the scheduler 200-2-1-5 in Fig. 7. Specifically, the packet selector 200-6 is connected to two or more encapsulators 200-3 that transmit application packets in shared time slots. Each of the two or more encapsulators 200-3 connected to the packet selector 200-6 has a packet maker 200-3-1 and a buffer 200-3-3. Each encapsulator 200-3 outputs a data ready signal when an application packet is stored in the corresponding buffer 200-3-3. These data ready signals are input to the packet selector 200-6.

[0081] Packet selector 200-6 selects an application packet to be transmitted in the shared time slot based on a data ready signal from two or more encapsulators 200-3 that transmit application packets in the shared time slot. The data ready signal indicates that the corresponding application packet has been stored in the corresponding buffer 200-3-3, and is output from the corresponding encapsulator 200-3. The application packet selected in the shared time slot is input to frame constructor 200-2-1.

[0082] The frame constructor 200-2-1 in Fig. 10 includes a plurality of container makers 200-2-1-1 corresponding to a plurality of encapsulators 200-3 or OAM units 200-2-3, a multiplexer 200-2-1-3, and a scheduler 200-2-1-5, similar to Fig. 7. The scheduler 200-2-1-5 in Fig. 10 is different from the scheduler 200-2-1-5 in Fig. 7.

[0083] The frame constructor 200-2-1 in Fig. 7 has the same number of container makers 200-2-1-1 as the number of encapsulators 200-3, but the frame constructor 200-2-1 in Fig. 10 has a smaller number of container makers 200-2-1-1 than the number of encapsulators 200-3. More specifically, one of the multiple application packets transmitted in the shared time slot is selected by the packet selector 200-6, and the selected application packet is input to the dedicated container maker 200-2-1-1.

[0084] The packet selector 200-6 receives a read timing signal from the scheduler 200-2-1-5, informing it of the timing of the shared time slot. When the read timing signal is received, the packet selector 200-6 performs the same processing as that shown in the flowchart of FIG. 8. When the packet selector 200-6 selects an application packet to be transmitted in the shared time slot, it transmits the application packet to the corresponding container maker 200-2-1-1 together with packet information indicating which application the application packet corresponds to. The corresponding container maker 200-2-1-1 generates a container header based on the received packet information, and generates a container payload including the received application packet, thereby completing the container.

[0085] The scheduler 200-2-1-5 in the frame constructor 200-2-1 selects one by one of the plurality of containers produced by the plurality of container makers 200-2-1-1 based on the setting information of the control register 200-5, and generates a link frame.

[0086] In this way, in the second embodiment, the packet selector 200-6 is provided between the multiple encapsulators 200-3 and the frame constructor 200-2-1 to select application packets to be transmitted in a shared time slot, thereby reducing the number of container makers 200-2-1-1 in the frame constructor 200-2-1. Also, the packet selector 200-6 performs part of the schedule management processing of the scheduler 200-2-1-5, thereby reducing the processing load on the scheduler 200-2-1-5 and simplifying the internal configuration of the frame constructor 200-2-1.

[0087] The present technology can be configured as follows: (1) a communication unit that periodically transmits a plurality of application packets corresponding to a plurality of serial signals generated by a plurality of applications to a communication partner device, the plurality of application packets being one period consisting of a plurality of TDD time slots, the plurality of TDD time slots being one period; a transmission control unit that provides at least one specific TDD time slot among the plurality of TDD time slots for transmitting some application packets corresponding to some of two or more of the plurality of applications, and changes the priority of the some application packets transmitted in the specific TDD time slot for each period. (2) The communication device according to (1), wherein the transmission control unit changes the priority of the part of the application packets every one period in a pre-set order or as specified by a user. (3) The communication device according to (1), wherein the transmission control unit changes the priority of the part of the application packets transmitted within the specific TDD time slot in a rotating manner for each period. (4) The communication device according to (1), wherein the transmission control unit preferentially transmits packets corresponding to applications with higher priority in the specific TDD time slot. (5) A communication device described in any one of (1) to (4), wherein the transmission control unit checks whether an application with a higher priority is ready to transmit a packet to the specific TDD time slot, and if not, checks whether an application with the next highest priority is ready to transmit a packet to the specific TDD time slot. (6) The communication device described in (5), wherein the transmission control unit repeats the process of checking whether a packet to be transmitted is ready, in order of priority, until a packet that can be transmitted in the specific TDD time slot is found. (7) A communication device described in any one of (1) to (6), wherein the transmission control unit stops transmitting valid packets in the specific TDD time slot if none of the applications has prepared a packet to be transmitted in the specific TDD time slot. (8) A communication device described in any one of (1) to (7), wherein the transmission control unit provides a dedicated TDD time slot within one period, separate from the specific TDD time slot, for transmitting a packet containing a serial signal generated by a pre-specified application. (9) The communication device according to (8), wherein the pre-specified application is an application other than the part of the applications among the plurality of applications. (10) The communication device according to (8) or (9), wherein the transmission control unit makes the number of the dedicated TDD time slots included in the multiple periods greater than the number of the specific TDD time slots. (11) The certain applications include at least one of an application that generates packets for I2C (Inter-Integrated Circuit) communication and an application that generates packets for GPIO (General Purpose Input / Output) communication, The communication device according to any one of (8) to (10), wherein the pre-specified application includes at least one of an application that generates packets for SPI (Serial Peripheral Interface) communication and an application that generates packets for OAM (Operation, Administration, Maintenance). (12) A communication device described in any one of (1) to (11), wherein the transmission control unit changes the priority of the part of the applications by one step for each cycle, and when the priority becomes the lowest or highest, the priority becomes the highest or lowest in the next cycle. (13) A communication device described in any one of (8) to (11), wherein the transmission control unit determines whether to assign the dedicated time slot to the corresponding application or to share the specific TDD time slot with other applications based on at least one of the transmission frequency and signal volume of the serial signals generated by each of the multiple applications. (14) a plurality of encapsulators provided for each of the plurality of applications, each encapsulator generating a packet including a serial signal generated by the corresponding application and outputting a ready signal indicating whether the packet has been generated; a frame constructing unit that generates a link frame to be transmitted to the communication partner device within the one period based on the plurality of packets generated by the plurality of encapsulators, The communication device according to any one of (1) to (13), wherein the frame construction unit has a scheduler that manages the priority of the specific TDD time slot and determines the application that will transmit packets in the specific TDD time slot based on two or more ready signals generated by two or more of the encapsulators corresponding to the part of the application. (15) The frame constructor a plurality of container manufacturers that generate containers each including a container payload containing a packet generated by each of the plurality of encapsulators and a container header; The communication device according to (14), further comprising: a multiplexer that, under the management of the scheduler, selects one by one of the plurality of containers generated by the plurality of container manufacturers and generates the link frame. (16) The communication device according to (15), wherein the number of the plurality of container manufacturers is the same as the number of TDD time slots in one period. (17) A plurality of encapsulators provided for each of the plurality of applications, each encapsulator generating a packet including a serial signal generated by a corresponding application and outputting a ready signal indicating whether the packet has been generated; a packet selection unit that manages the priority of the specific TDD time slot and selects a packet to be transmitted in the specific TDD time slot from among two or more packets generated by the two or more encapsulators based on two or more ready signals generated by the two or more encapsulators corresponding to the part of applications; a frame constructing unit that generates a link frame to be transmitted to the communication partner device within the one period based on the packets selected by the packet selecting unit and packets corresponding to applications other than the part of the applications among the plurality of applications, The communication device according to any one of (1) to (13), wherein the frame construction unit has a scheduler that manages packets transmitted in the plurality of TDD time slots within one period. (18) The frame constructor a plurality of container makers that each generate a container including a container payload that includes the packet selected by the packet selection unit and a packet corresponding to an application other than the part of the applications among the plurality of applications, and a container header that corresponds to the container payload; The communication device according to (17), further comprising: a multiplexer that, under the management of the scheduler, selects one by one of the plurality of containers generated by the plurality of container manufacturers and generates the link frame. (19) The communication device according to (18), wherein the number of the plurality of container manufacturers is less than the number of TDD time slots in one period. (20) A first communication device and a second communication device are provided, which transmit and receive packets in TDD (Time Division Duplex) using a predetermined communication protocol; The first communication device a communication unit that periodically transmits a plurality of application packets corresponding to serial signals generated by a plurality of applications to a communication partner device, the plurality of application packets being one period consisting of a plurality of TDD time slots, the period being one TDD time slot; a transmission control unit that provides at least one specific TDD time slot among the plurality of TDD time slots for transmitting application packets corresponding to some of two or more of the plurality of applications, and changes the priority of the some of the application packets transmitted in the specific TDD time slot for each period; A communication system, wherein the second communication device has a second communication unit that receives packets transmitted from the first communication device and periodically transmits packets to the first communication device, with the plurality of TDD time slots serving as one period. (21) A section allocated by TDD (Time Division Duplex) is defined as one TDD time slot, and a plurality of the TDD time slots are defined as one cycle, and a plurality of application packets corresponding to serial signals generated by a plurality of applications are periodically transmitted to a communication partner device; A communication method comprising: providing at least one specific TDD time slot among the plurality of TDD time slots for transmitting some application packets corresponding to some of two or more of the plurality of applications; and changing the priority of the some application packets transmitted in the specific TDD time slot for each period.

[0088] The aspects of the present disclosure are not limited to the individual embodiments described above, but include various modifications that may be conceived by those skilled in the art, and the effects of the present disclosure are not limited to the above-described contents. In other words, various additions, modifications, and partial deletions are possible within the scope of the conceptual idea and spirit of the present disclosure, which is derived from the contents defined in the claims and their equivalents. [Explanation of symbols]

[0089] 1 Communication system, 200 SerDes, 200-1 PHY unit, 200-1-1 Link transmitter, 200-2 LINK unit, 200-2-1 Frame constructor, 200-2-1-1 Container maker, 200-2-1-2 Scheduler, 200-2-1-3 Multiplexer, 200-2-1-4 Scheduler, 200-2-1-5 Scheduler, 200-2-2 Frame disassembler, 200-2-3 OAM unit, 200-3 Encapsulator, 200-3-1 Packet maker, 200-3-3 Buffer, 200-4 Decapsulator, 200-5 Control register, 200-6 Packet selector, 300 Cable, 400 SerDes, 400-1 PHY unit, 400-2 LINK section, 400-2-1 frame construction section, 400-2-2 frame disassembly section, 400-2-3 OAM section, 400-3 encapsulator, 400-4 deencapsulator, 500 peripheral device, 600 peripheral device

Claims

1. a communication unit that periodically transmits a plurality of application packets corresponding to a plurality of serial signals generated by a plurality of applications to a communication partner device, the plurality of application packets corresponding to a period allocated by TDD (Time Division Duplex) being one TDD time slot and a plurality of the TDD time slots being one cycle; a transmission control unit that provides at least one specific TDD time slot among the plurality of TDD time slots for transmitting some application packets corresponding to some of two or more of the plurality of applications, and changes the priority of the some application packets transmitted in the specific TDD time slot for each period.

2. The communication device according to claim 1 , wherein the transmission control unit changes the priority of the part of application packets every one period in a preset order or in response to a user specification.

3. The communication device according to claim 1 , wherein the transmission control unit changes the priority of the part of the application packets transmitted in the specific TDD time slot in a rotating manner for each of the periods.

4. The communication device according to claim 1 , wherein the transmission control unit preferentially transmits packets corresponding to applications with higher priorities in the specific TDD time slot.

5. 2. The communication device according to claim 1, wherein the transmission control unit checks whether an application with a higher priority has prepared a packet to be transmitted in the specific TDD time slot, and if not, checks whether an application with a next higher priority has prepared a packet to be transmitted in the specific TDD time slot.

6. 6. The communication device according to claim 5, wherein the transmission control unit repeats a process of checking whether a packet to be transmitted is ready in descending order of priority until a packet that can be transmitted in the specific TDD time slot is found.

7. 2. The communication device according to claim 1, wherein the transmission control unit stops transmitting valid packets in the specific TDD time slot if none of the applications has prepared a packet to be transmitted in the specific TDD time slot.

8. 2. The communication device according to claim 1, wherein the transmission control unit provides, within the one period, a dedicated TDD time slot, separate from the specific TDD time slot, for transmitting a packet including a serial signal generated by a pre-specified application.

9. The communication device according to claim 8 , wherein the pre-specified application is an application other than the part of the applications among the plurality of applications.

10. The communication device according to claim 8 , wherein the transmission control unit makes the number of the dedicated TDD time slots included in the plurality of TDD time slots greater than the number of the specific TDD time slots.

11. the certain applications include at least one of an application that generates packets for I2C (Inter-Integrated Circuit) communication and an application that generates packets for GPIO (General Purpose Input / Output) communication; 9. The communication device according to claim 8, wherein the pre-specified application includes at least one of an application that generates packets for SPI (Serial Peripheral Interface) communication and an application that generates packets for OAM (Operation, Administration, Maintenance).

12. 2. The communication device according to claim 1, wherein the transmission control unit changes the priority of the part of the applications by one step for each cycle, and when the priority becomes the lowest or highest, the priority is changed to the highest or lowest in the next cycle.

13. 9. The communication device according to claim 8, wherein the transmission control unit determines whether to assign the dedicated time slot to a corresponding application or to share the specific TDD time slot with other applications based on at least one of a transmission frequency and a signal volume of a serial signal generated by each of the plurality of applications.

14. a plurality of encapsulators provided for each of the plurality of applications, each encapsulator generating a packet including a serial signal generated by a corresponding application and outputting a ready signal indicating whether or not the packet has been generated; a frame constructing unit that generates a link frame to be transmitted to the communication partner device within the one period based on the plurality of packets generated by the plurality of encapsulators, 2. The communication device according to claim 1, wherein the frame constructor includes a scheduler that manages the priority of the specific TDD time slot and determines the application that will transmit packets in the specific TDD time slot based on two or more ready signals generated by two or more of the encapsulators corresponding to the part of applications.

15. The frame constructor a plurality of container manufacturers that generate containers each including a container payload containing a packet generated by each of the plurality of encapsulators and a container header; 15. The communication device according to claim 14, further comprising: a multiplexer that selects the plurality of containers produced by the plurality of container manufacturers one by one under the management of the scheduler, and generates the link frame.

16. The communication device according to claim 15 , wherein the number of the plurality of container manufacturers is equal to the number of TDD time slots in one period.

17. a plurality of encapsulators provided for each of the plurality of applications, each encapsulator generating a packet including a serial signal generated by a corresponding application and outputting a ready signal indicating whether or not the packet has been generated; a packet selection unit that manages the priority of the specific TDD time slot and selects a packet to be transmitted in the specific TDD time slot from among two or more packets generated by the two or more encapsulators based on two or more ready signals generated by the two or more encapsulators corresponding to the part of applications; a frame constructing unit that generates a link frame to be transmitted to the communication partner device within the one period based on the packets selected by the packet selecting unit and packets corresponding to applications other than the part of the applications among the plurality of applications, The communication device according to claim 1 , wherein the frame constructing unit includes a scheduler that manages packets transmitted in the plurality of TDD time slots within one period.

18. The frame constructor a plurality of container makers that each generate a container including a container payload that includes the packet selected by the packet selection unit and a packet corresponding to an application other than the part of the applications among the plurality of applications, and a container header that corresponds to the container payload; 18. The communication device according to claim 17, further comprising: a multiplexer that selects the plurality of containers produced by the plurality of container manufacturers one by one under the management of the scheduler, and generates the link frame.

19. 19. The communication device according to claim 18, wherein the number of the plurality of container manufacturers is less than the number of TDD time slots in one period.

20. The system comprises a first communication device and a second communication device that transmit and receive packets in TDD (Time Division Duplex) using a predetermined communication protocol, The first communication device a communication unit that periodically transmits a plurality of application packets corresponding to serial signals generated by a plurality of applications to a communication partner device, the plurality of application packets corresponding to serial signals generated by a plurality of applications being one period, the plurality of application packets being one period, the plurality of application packets being one period, and the plurality of application packets being one period; a transmission control unit that provides at least one specific TDD time slot among the plurality of TDD time slots for transmitting application packets corresponding to some of two or more of the plurality of applications, and changes the priority of the some of the application packets transmitted in the specific TDD time slot for each period; a second communication unit configured to receive packets transmitted from the first communication device and periodically transmit packets to the first communication device, the ...

21. a period allocated by TDD (Time Division Duplex) being one TDD time slot, and a plurality of the TDD time slots being one cycle, periodically transmitting a plurality of application packets corresponding to serial signals generated by a plurality of applications to a communication partner device; a communication method in which at least one specific TDD time slot is provided among the plurality of TDD time slots for transmitting some application packets corresponding to some of two or more of the plurality of applications, and the priority of the some application packets transmitted in the specific TDD time slot is changed every one period.

Citation Information

Patent Citations

  • Mobile communication system

    JP1994245250A

  • Multiplexer

    JP1997116520A

  • Multiplexer

    JP2000209177A

  • Adaptive time-division redundancy method and apparatus for dynamically allocating bandwidth used in wireless communication systems

    JP2001523931A

  • Using method of radio frame in data transmission system

    JP2005244495A