The present invention relates to a data transmission system and a data transmission method. Particularly, the present invention relates to a data transmission system and a data transmission method having a plurality of devices connected to a multiport switch via a serial bus.
In recent years, the amount of communication data is increasing drastically at wireless base stations. In accordance with such increase, the amount of signal processing at devices such as a CPU (Central Processing Unit), DSP (Digital Signal Processor), FPGA (Field Programmable Gate Array) and the like in a substrate for executing the process at wireless base stations is increasing. As a result, the communication rate between these devices has become higher.
Serial RapidIO (registered trademark) is a specification to connect such various types of devices in the substrate to a multipart switch via a serial line to allow high speed communication as fast as 10 Gbps between the devices (for example, refer to RapidIO™ Interconnect Specification Part 1: Input/Output Logical Specification Rev 1.3 (Non-Patent Literature 1)). Devices of the wireless base stations are now being put into practice corresponding to the specification of this Serial RapidIO.
A packet for performing communication is defined according to Serial RapidIO. For example, an NREAD type packet is a read packet requesting a read of data from the device of the other party. An NWRITE type packet is a write packet to write data towards the device of the other party.
Each packet has the priority defined according to its type. A packet output from a device is stored in a buffer located in the multipart switch to be then output to the target device from the buffer. In this buffer, packets towards the same transmission destination sent out from the same transmission source have the output sequence modified according to its priority corresponding to its type. Thus, packets of the same transmission source and same transmission destination can be output in such a manner so as to allow a packet of a higher priority type to be delivered quickly to the destination device.
In the Serial RapidIO, the priority is not defined between packets corresponding to different destination devices and between packets corresponding to different source devices.
Therefore, when communication of low priority is generated from a device during execution of communication of high priority from another device, communication of the low priority device will also be permitted. As a result, a long period of time will be required until the communication of high priority from a device is completed.
As shown in
In view of the foregoing, an object of the present invention is to provide a data transmission system and a data transmission method that can prevent communication of high priority from a source device from being hindered by communication of low priority from another source device.
In order to solve the problem set forth above, the present invention is directed to a data transmission system including a multipart switch, and a plurality of devices connected to the multiport switch via a plurality of serial buses. Each of the plurality of devices includes a transmission unit transmitting a packet to another device through the multipart switch and the serial buses, and a reception unit receiving a packet from another device through the multiport switch and the serial buses. At at least one first device among the plurality of devices, the transmission unit transmits, before transmitting at least one data packet including data to be transmitted located in a data region to another device, a first packet notifying that usage of the serial bus is to be started to at least one second device among the plurality of devices. The second device includes a storage unit storing a bus usage flag indicating a usage state of the serial buses. The reception unit sets the bus usage flag to an engaged state upon receiving the first packet. The transmission unit transmits a data packet to another device as long as the bus usage flag is not set at an engaged state.
Preferably, there are a plurality of second devices. The transmission unit of the first device transmits the first packet to a plurality of second devices in a multicast manner.
Preferably, the transmission unit of the first device transmits, after transmission of at least one data packet has ended, a second packet notifying that usage of serial buses is to be ended. The reception unit of the second device sets the bus usage flag at a not-engaged state upon receiving the second packet.
Preferably, there are a plurality of second devices. The transmission unit of the first device transmits the second packet to the plurality of second devices in a multicast manner.
Preferably, there are a plurality of first devices. The transmission unit of each first device also transmits the first packet to another first device. Each first device further includes a storage unit storing a bus usage flag. The reception unit of each first device sets the bus usage flag to an engaged state upon receiving the first packet. The transmission unit of each first device transmits, before transmitting at least one data packet including data to be transmitted, the first packet and the data packet as long as the bus usage flag is not set at an engaged state.
Preferably, the communication through the serial buses follows the Serial RapidIO specification.
The present invention is directed to a data transmission method at a data transmission system including a multiport switch, and a plurality of devices connected to the multipart switch via a plurality of serial buses. The data transmission method includes the steps of: at least one first device among the plurality of devices transmitting, before transmitting at least one data packet including data to be transmitted located in a data region to another device, a first packet notifying that usage of the serial bus is to be started to at least one second device among the plurality of devices; the first device transmitting at least one data packet to another device; the second device receiving the first packet; the second device setting the bus usage flag in a storage unit to an engaged state upon receiving the first packet; and the second device transmitting the data packet to another device as long as the bus usage flag is not set at an engaged state.
According to the data transmission method and data transmission method thereof of the present invention, communication of high priority from a source device can be prevented from being hindered by communication of low priority from another source device.
Embodiments of the present invention will be described hereinafter with reference to the drawings.
The first embodiment relates to a data transmission system in which there is only one device transmitting data of high priority.
(Configuration of Data Transmission System)
Referring to
(Configuration of Device and Multiport Switch)
Referring to
Memory 25 stores data to be transmitted to another device, and data received from another device.
Transmission unit 12 includes a data packet generation unit 22, a bus usage start notification packet generation unit 23, a bus usage end notification packet generation unit 24, and a packet output unit 21.
Data packet generation unit 22 reads out data to be transmitted to a destination device from memory 25 and generates a data packet in which data read out into a data region is included.
Bus usage start notification packet generation unit 23 generates a bus usage start notification packet notifying that usage of serial buses 51-54 is to be started. The bus usage start notification packet has “multicast” designated as the address ID, and is transmitted to all the devices connected to multipart switch 1 other than the source device.
Bus usage end notification packet generation unit 23 generates a bus usage end notification packet notifying that usage of serial buses 51-54 is to be ended. The bus usage end notification packet has “multicast” designated as the address ID, and is transmitted to all the devices connected to multiport switch 1 other than the source device.
Packet output unit 21 outputs the generated data packet, the bus usage start notification packet, and the bus usage end notification packet onto serial bus 51.
Reception unit 14 includes a packet input unit 27, and a data packet processing unit 26.
Packet input unit 27 receives a data packet from serial bus 51.
Data packet processing unit 26 processes the received data packet at packet input unit 27 to write the data included in the data region of the data packet into memory 25.
Device B includes a transmission unit 16, a reception unit 18, a memory 35 and a flag register 34.
Memory 35 stores data to be transmitted to another device, and data received from another device.
Flag register 34 stores a bus usage flag representing the usage state of serial buses 51-54.
Reception unit 18 includes a packet input unit 30, a bus usage start notification packet processing unit 31, a bus usage end notification packet processing unit 32, and a data packet processing unit 33.
Packet input unit 30 receives a data packet, a bus usage start notification packet and a bus usage end notification packet from serial bus 52.
Data packet processing unit 33 processes the data packet received at packet input unit 30 to write the data included in the data region of the data packet into memory 35.
When a bus usage start notification packet is received at packet input unit 30, bus usage start notification packet processing unit 31 updates the value of the bus usage flag in flag register 34 with the data included in the data region of the bus usage start notification packet, i.e. data indicating the start of usage of serial buses 51-54. Accordingly, the bus usage flag is set to an engaged state.
When a bus usage end notification packet is received at packet input unit 30, bus usage end notification packet processing unit 32 updates the value of the bus usage flag in flag register 34 with the data included in the data region of the bus usage end notification packet, i.e. data indicating the end of usage of serial buses 51-54. Accordingly, the bus usage flag is set to a not-engaged state.
Transmission unit 16 includes a data packet generation unit 29, and a packet output unit 28.
As long as the bus usage flag is not set at an engaged state, data packet generation unit 29 reads out data to be transmitted to the destination device from memory 35 to generate a data packet including data read out into the data region.
Packet output unit 28 outputs the generated data packet to serial bus 52.
Multiport switch 1 includes a communication unit 4, a buffer 2, and a priority control unit 3.
Communication unit 4 receives the packet output from the source device through serial buses 51-54 and provides the received packet to buffer 2.
Communication unit 4 also outputs the packet stored in buffer 2 towards the destination device through serial buses 51-54. When the address ID of the packet is set at “multicast”, communication unit 4 transmits that packet to all the devices connected to multiport switch 1 other than the source device.
Priority control unit 3 first takes out the packet of higher priority from buffer 2. Packets of the same priority level are output in a first-in first-output manner (FIFO) from buffer 2. Since the bus usage start notification packet and bus usage end notification packet are set at the highest priority, such packets are taken out foremost, independent of the site stored in buffer 2.
Buffer 2 stores a packet output from a source device, and outputs the packet when the destination device is capable of reception. When the stored amount arrives at a full state, buffer 2 sends a signal indicating to wait for transmission to all devices A-D connected to multiport switch 1.
(Packet Configuration)
a) represents a configuration of a bus usage start notification packet.
Referring to
CRF and PRIORITY has a value representing the priority set. In this bus usage start notification packet, “1” and “01” representing the highest priority level are set in CRF and PRIORITY, respectively.
FTYPE has “0101” set, representing NWRITE (data writing).
Address ID has “0×80” set, representing multicast.
SOURCE ID has the ID of the device to which the relevant packet is to be output set.
TRANSACTION ID has “0100” set, representing NWRITE.
WSIZE and WDPTR has the size of the data in the data region set. In the present bus usage state start notification packet, “0000” and “0” representing data output of 1 byte are set in WSIZE and WDPTR, respectively.
ADDRESS and XADMS has the address of the site where the data in the data region is to be written set. In this bus usage start notification packet, “0×00000000” and “00” representing the address “0×00” of flag register 34 storing the bus usage flag are set in ADDRESS and XADMS, respectively.
The data region includes 8 bytes of data. In the present bus usage start notification packet, the leading 1 byte is set at “0×01”, and the remaining 7 bytes are set at “0×00”.
CRC has a redundant bit for data error detection set, excluding the 6 bits from the beginning in this packet.
b) represents a configuration of a bus usage end notification packet.
Referring to
(Operation Procedure of Device A)
First, when packet input unit 27 receives a data packet (YES at step S101), data packet processing unit 26 carries out reception processing on the data packet to write the data included in the data region of the data packet into memory 25 (step S102).
When there is data to be transmitted (YES at step S103), bus usage start notification packet generation unit 23 generates a bus usage start notification packet shown in
Then, data packet generation unit 22 generates a data packet including the data to be transmitted to the destination device in the data region. Packet output unit 21 outputs the generated data packet (step S105).
Bus usage end notification packet generation unit 24 generates a bus usage end notification packet shown in
(Device B Operation Procedure)
When the bus usage start notification packet shown in
When the bus usage end notification packet shown in
When packet input unit 30 receives a data packet (YES at step S205), data packet processing unit 33 performs reception processing on the data packet, and writes the data included in the data region of the data packet into memory 35 (step S206).
When there is data to be transmitted (YES at step S207), and as long as the bus usage flag in flag register 34 is not set at an engaged state (NO at step S208), data packet generation unit 29 generates a data packet including the data to be transmitted to the destination device in the data region. Packet output unit 28 outputs the generated data packet (step S209).
(Exemplified Operation of Transmission System)
Referring to
At devices B, C and D, packet input unit 30 receives a bus usage start notification packet from multiport switch I via serial buses 52-54 (step S302).
At devices B, C and D, bus usage start notification packet processing unit 31 sets the bus usage flag in flag register 34 at an engaged state. Accordingly, a transmission disallowed period of devices B, C and D is initiated. Devices B, C and D cannot output a data packet during the transmission disallowed period (S303).
At device A, data packet generation unit 22 generates a data packet, and packet output unit 21 transmits the data packet to the destination device via a plurality of serial buses and multiport switch 1 (step S304).
At device A, bus usage end notification packet generation unit 23 generates a bus usage end notification packet. Packet output unit 21 outputs the bus usage end notification packet to multiport switch 1 via serial bus 51 (step S305).
At devices B, C and D, packet input unit 30 receives the bus usage end notification packet from multiport switch I via serial buses 52-54 (step S306).
At devices B, C and D, bus usage end notification packet processing unit 32 sets the bus usage flag in flag register 34 at a not-engaged state. Accordingly, the transmission disallowed period of devices B, C and D ends (step S307).
Then at device B, data packet generation unit 29 generates a data packet since the bus usage flag is not set at an engaged state. Packet output unit 28 outputs the data packet to multiport switch 1 via serial bus 52 (step S304).
According to the transmission system of the present embodiment set forth above, a bus usage start notification packet notifying the start of using a serial bus is transmitted by device A to devices B, C and D. Upon receiving a bus usage start notification packet, devices B, C and D refrain from transmitting data to another device. Accordingly, the communication of high priority with device A as the transmission source is prevented from being hindered by communication of lower priority with devices B, C and D as the transmission sources.
The second embodiment relates to a data transmission system in which there are a plurality of devices transmitting data of high priority.
(Configuration of Device and Multiport Switch)
The configuration of
Likewise with device B, device A includes a flag register 66 storing a bus usage flag.
Likewise with reception unit 18 of device B, reception unit 54 includes a packet input unit 67, a data packet processing unit 26, a bus usage start notification packet processing unit 68, and a bus usage end notification packet processing unit 69.
Bus usage start notification packet generation unit 63, data packet generation unit 62, and bus usage end notification packet generation unit 64 of transmission unit 52 generate respective packets as long as the bus usage flag in flag register 66 is not set at an engaged state.
(Device A Operation Procedure)
When packet input unit 67 receives a bus usage start notification packet shown in
When packet input unit 67 receives the bus usage end notification packet shown in
When packet input unit 67 receives a data packet (YES at step S405), data packet processing unit 26 writes the data included in the data region in the data packet into memory 25 according to a data packet reception procedure (step S406).
When there is data to be transmitted (YES at step S407), and as long as the bus usage flag is not set at an engaged state (NO at step S408), bus usage start notification packet generation unit 63 generates a bus usage start notification packet shown in
Data packet generation unit 62 generates a data packet including data to be transmitted to the destination device in the data region. Packet output unit 21 outputs the generated data packet (step S410).
Then, bus usage end notification packet generation unit 64 generates a bus usage end notification packet shown in
(Operation Procedure of Device B)
The operation procedure of device B and device D are similar to that of device B in the first embodiment. Therefore description thereof will not be repeated.
(Exemplified Operation of Transmission System)
Referring to
At devices B, C and D, packet input units 30, 67 and 30 receive a bus usage start notification packet from multipart switch 1 via serial buses 52, 53, and 54 (step S502).
At devices B, C and D, bus usage start notification packet processing units 31, 68 and 31 set the bus usage flag in flag registers 34, 66 and 34 at an engaged state. Accordingly, the transmission disallowed period of devices B, C and D is initiated. Devices B, C and D cannot output a data packet in a transmission disallowed period (step S503).
Then, at device A, data packet generation unit 62 generates a data packet. Packet output unit 21 transmits the data packet to the destination device through a plurality of serial buses and multipart switch 1 (step S504).
At device A, bus usage end notification packet generation unit 64 generates a bus usage end notification packet. Packet output unit 21 outputs the bus usage end notification packet to multipart switch 1 via serial bus 51 (step S505).
At devices B, C and D, packet input units 30, 67 and 30 receive a bus usage end notification packet from multipart switch I via serial buses 52, 53, and 54 (step S506).
At devices B, C and D, bus usage end notification packet processing units 32, 69 and 32 set the bus usage flag in flag registers 34, 66 and 34, respectively, at a not-engaged state. Accordingly, the transmission disallowed period of devices B, C and D ends (step S507).
At device B, data packet generation unit 29 generates a data packet since the bus usage flag is not set at an engaged state. Packet output unit 28 transmits a data packet to the destination device via a plurality of serial buses and multipart switch 1 (step S508).
At device C, bus usage start notification packet generation unit 63 generates a bus usage start notification packet. Packet output unit 21 outputs the bus usage start notification unit to multipart switch 1 via serial bus 53 (step S509).
At devices A, B and D, packet input units 67, 30 and 30 receive a bus usage start notification packet from multipart switch 1 via serial buses 51, 52 and 54 (step S510).
At devices A, B and D, bus usage start notification packet processing units 68, 31 and 31 set the bus usage flag in flag registers 66, 34 and 34 at an engaged state, respectively. Accordingly, the transmission disallowed period of devices A, B and D is initiated. Devices A, B, and D cannot output a data packet during a transmission disallowed period (step S511).
At device C, data packet generation unit 62 generates a data packet. Packet output unit 21 transmits the data packet to the destination device via a plurality of serial buses and multipart switch 1 (step S512).
Although not shown, device C transmits a bus usage end notification packet, and devices A, B and D set the bus usage flag in flag registers 66, 34 and 34 at a not-engaged state.
According to the transmission system of an embodiment of the present invention, device A transmitting data of high priority transmits a bus usage start notification packet notifying the start of using a serial bus to devices B, C and D. Upon receiving a bus usage start notification packet, devices B, C and D refrain from transmitting data to another device. Therefore, the communication of higher priority with device A as the transmission source can be prevented from being hindered by communication of low priority with devices B, C and D as the transmission sources. Moreover, another device C transmitting data of high priority transmits a bus usage start notification packet notifying the start of using a serial bus to devices B, C and D. Upon receiving a bus usage start notification packet, devices A, B and D refrain from transmitting data to another device. Therefore, the communication of higher priority with device C as the transmission source can be prevented from being hindered by communication of low priority with devices A, B, and D as the transmission sources. Thus, even in the case where there are a plurality of devices to transmit data of high priority, the event of communication of data having higher priority being hindered by the communication of lower priority can be prevented.
It is to be understood that the embodiments disclosed herein are only by way of example, and not to be taken by way of limitation. The scope of the present invention is not limited by the description above, but rather by the terms of the appended claims, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.
A-D device; 1 multiport switch; 2 buffer; 3 priority control unit; 4 communication unit; 12, 16, 52 transmission unit; 14, 18, 54 reception unit; 21, 28 packet output unit; 22, 29, 62 data packet generation unit; 23, 63 bus usage start notification packet generation unit; 24, 64 bus usage end notification packet generation unit; 25, 35 memory; 26, 33 data packet processing unit; 27, 30, 67 packet input unit; 31, 68 bus usage start notification packet processing unit; 32, 69 bus usage end notification packet controlling unit; 34, 66 flag register; 51-54 serial bus.
Number | Date | Country | Kind |
---|---|---|---|
2009-103875 | Apr 2009 | JP | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP2010/056185 | 4/5/2010 | WO | 00 | 11/15/2011 |