WO2010103574A1 - 通信装置、パケット同期方法 - Google Patents

通信装置、パケット同期方法 Download PDF

Info

Publication number
WO2010103574A1
WO2010103574A1 PCT/JP2009/001122 JP2009001122W WO2010103574A1 WO 2010103574 A1 WO2010103574 A1 WO 2010103574A1 JP 2009001122 W JP2009001122 W JP 2009001122W WO 2010103574 A1 WO2010103574 A1 WO 2010103574A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
data
header
length
check code
Prior art date
Application number
PCT/JP2009/001122
Other languages
English (en)
French (fr)
Inventor
古田大太郎
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2009/001122 priority Critical patent/WO2010103574A1/ja
Priority to EP09841406A priority patent/EP2408139A1/en
Priority to JP2011503562A priority patent/JP5382109B2/ja
Priority to CN200980157960.6A priority patent/CN102349261B/zh
Publication of WO2010103574A1 publication Critical patent/WO2010103574A1/ja
Priority to US13/137,758 priority patent/US8891558B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/041Speed or phase control by synchronisation signals using special codes as synchronising signal
    • H04L7/042Detectors therefor, e.g. correlators, state machines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/048Speed or phase control by synchronisation signals using the properties of error detecting or error correcting codes, e.g. parity as synchronisation signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/10Arrangements for initial synchronisation

Definitions

  • the present invention relates to a technique for synchronizing packets included in input data in data transfer.
  • E-UTRAN Evolved UMTS Terrestrial Radio Access Network
  • IP Internet Protocol
  • a communication device such as a mobile terminal (UE: User Equipment) uses a protocol such as PPP (Point to Point Protocol) when transferring data with an external device by USB (Universal Serial Bus) communication.
  • PPP Point to Point Protocol
  • USB Universal Serial Bus
  • a communication device for synchronizing packets with input data from an external device.
  • This communication device (A) A test in which a predetermined amount of first input data is set as a check code and input data before the first input data is set as test target data is performed for each data input for each unit data amount, and a desired test result is obtained.
  • a first detection unit for detecting a check code by obtaining (B) It is estimated that the start position of the inspection target data when the check code is detected by the first detection unit is the start position of the header of the first packet, and the packet length of the first packet is read from the header A first header analysis unit; (C) a first determination unit that determines whether a length of data to be inspected when a check code is detected by the first detection unit matches a packet length read by the first header analysis unit; (D) Estimating that the leading position of the input data following the check code detected by the first detector is the leading position of the header of the second packet following the first packet, and from the header, A second header analyzer for reading the packet length; Is provided.
  • the first packet is detected as input data corresponding to the packet length read by the first determination unit.
  • the second packet is detected as subsequent input data corresponding to the packet length read by the second analyzer.
  • packet synchronization with respect to input data is taken.
  • a packet synchronization method that performs the same processing as that of the communication apparatus is provided.
  • the communication device can synchronize packets from input data from the external device without using a special protocol with the external device.
  • the block diagram which shows the principal part of the structure of the portable terminal which concerns on 1st Embodiment.
  • the flowchart which shows the process inside the portable terminal which concerns on 1st Embodiment.
  • FIG. 1 shows a communication system including a mobile terminal (UE: User Equipment) according to the embodiment and an external TE (Terminal Equipment) 2 such as a personal computer. Show.
  • the portable terminal and the external TE are connected by a USB (Universal Serial Bus) cable.
  • USB Universal Serial Bus
  • the mobile terminal transmits and receives a large amount of data such as image data in the bulk transfer mode from the external TE through the USB cable.
  • data transfer is sequentially performed from the external TE to the mobile terminal in units of a fixed transfer amount (1 to 512 bytes) without recognizing the transfer data layer. Is made.
  • a CRC (Cyclic Redundancy Check) code is added at the end of the IP packet before data transfer.
  • CRC Cyclic Redundancy Check
  • data transmission / reception is performed with a CRC code added.
  • the type of CRC may be determined in advance between the mobile terminal and the external TE. In this embodiment, for example, CRC-16 is used.
  • the IP packet is detected by detecting the CRC code from the bulk data transferred from the external TE (in the following description, “synchronize the packet” or “synchronization as appropriate”). It is written as “Detect”.)
  • FIG. 2 is a block diagram illustrating a main part of the configuration of the mobile terminal according to the embodiment.
  • the mobile terminal (UE) includes a CPU 2, a memory 3, an upstream data processing unit 4, and a downstream data processing unit 5.
  • the upstream data processing unit 4 includes a USB interface (USB I / F) 11, an S / P (Serial / Parallel) interface (S / P I / F) 12, selectors (SEL) 13 and 16, and a first packet detection unit 14.
  • a second packet detection unit 15 includes a DMA controller (DMAC) 17, a bus interface (BUS I / F) 18, a CRC processing unit 19 (first detection unit), and a state machine 20.
  • the downlink data processing unit 5 includes a USB interface (USB I / F) 51, an S / P (Serial / Parallel) interface (S / P I / F) 52, a buffer (BUF) 55, a CRC adding unit 56, a DMA (Direct Memory Access) controller (DMAC) 57 and bus interface (BUS I / F) 58.
  • a solid line with an arrow indicates a flow of processing of transfer data
  • a dotted line with an arrow indicates a flow of processing of internal control data.
  • the configuration of the uplink data processing unit 4 will be described along the flow of uplink data processing.
  • the USB interface 11 receives data from an external TE through a USB cable according to the USB protocol.
  • bulk transfer is assumed as a data transfer mode by USB. In this bulk transfer, a relatively large amount of data is transferred from the external TE to the mobile terminal aperiodically.
  • the PACKET_RCVD signal (in the following description, for example, H level: packet detection) is sent from the first packet detection unit 14 or the second packet detection unit 15 to the state machine 20 as a signal indicating whether or not a packet can be detected. Impossible, L level: packet detection possible).
  • the upstream data processing unit 4 sends a CRC_OK signal (for example, H level in the following description) as a signal indicating OK / NOK for CRC detection from the first packet detection unit 14 or the second packet detection unit 15 to the state machine 20.
  • CRC detection NOK, L level: CRC detection OK. Is transmitted.
  • the S / P interface 12 converts the serial data from the USB interface 11 into parallel data having a data size suitable for CRC detection, for example, 1 byte width.
  • the 1-byte data (unit data amount data) is output to the selector 13 and the CRC processing unit 19.
  • the selector 13 outputs 1-byte data from the S / P interface 12 to either the first packet detection unit 14 or the second packet detection unit 15 in accordance with a control command from the state machine 20.
  • the CRC processing unit 19 has a configuration capable of performing CRC calculation on 1-byte width data from the S / P interface 12 in parallel with one clock.
  • the CRC processing unit 19 applies a 16-bit CRC (CRC-16), for example, X 16 + X 15 + X 2 +1 is used as the generator polynomial.
  • the CRC processing unit 19 performs a modulo operation using the generator polynomial, and notifies the state machine 20 of the inspection result. Specifically, when the remainder of the modulo operation is a desired value (typically “0”), the CRC detection is OK, and an L-level CRC_OK signal is transmitted to the state machine 20.
  • the CRC processing unit 19 includes a buffer (not shown) that sequentially stores 1-byte data from the S / P interface 12.
  • the CRC processing unit 19 performs CRC detection in response to a control command from the first packet detection unit 14, the 16-bit data that is finally input to the inspection target data in the buffer is a CRC code (inspection code).
  • the above modulo operation (inspection) is performed assuming that.
  • the CRC code is detected, that is, when the CRC detection is OK, the internal buffer is reset.
  • FIG. 3 is a diagram illustrating a CRC detection process for each clock when CRC detection is performed in accordance with a control command from the first packet detection unit 14.
  • FIG. 3 is a diagram exemplifying modulo arithmetic processing in successive k th to k + 2 th clocks in time series.
  • the last 1 byte in the buffer and the newly input 1 byte data are assumed to be CRC codes, and the remaining data in the buffer is used as data to be inspected. Performs modulo arithmetic.
  • the first packet detection unit 14 includes a header analysis unit 141 (first header analysis unit) and a buffer (BUF) 142, and detects a CRC code added to the end of the packet. Synchronize IP packets. When first detecting a packet, the first packet detection unit 14 performs packet detection.
  • the buffer 142 has at least a capacity corresponding to the expected packet size, and 1-byte data transferred from the selector 13 is sequentially stored.
  • the buffer 142 stores the same data as the inspection object data in the CRC processing unit 19 at each clock.
  • the first packet detection unit 14 receives an L-level CRC_OK signal from the state machine 20.
  • the header analysis unit 141 recognizes that the data stored in the buffer 142 is a packet, and analyzes the header from the head position of the stored data. That is, in the case of an IP packet, since the field configuration in the header is known in advance, the header analysis unit 141 reads the packet length (Total Length) from the header.
  • the first packet detection unit 14 as the first determination unit determines whether or not the read packet length matches the data length in the buffer 142. That is, the packet length is verified.
  • an L level PACKET_RCVD signal is transmitted to the state machine 20.
  • the detected packet is transferred to the memory 3 through the bus interface 18 and the bus under the control of the DMA controller 17.
  • the second packet detection unit 15 includes a header analysis unit 151 (second header analysis unit), a counter 152, and a buffer (BUF) 153.
  • the buffer 153 has at least a capacity corresponding to the size of a scheduled packet.
  • the processing of the second packet detector 15 is started. That is, the selector 13 is switched under the control of the state machine 20.
  • the header analysis unit 151 estimates that the start position of the data input from the selector 13 is the start position of the header of the packet next to the already detected packet, and calculates the packet length from a predetermined field of the header. read out.
  • the counter 152 is a byte counter that counts up every time one byte is input from the selector 13.
  • the counter 152 sequentially accumulates 1-byte data from the selector 13 in the buffer 153.
  • the second packet detector 15 stops the counter 152 when the value of the counter 152 reaches a value (number of bytes) corresponding to the read packet length, and transmits an L level PACKET_RCVD signal to the state machine 20. To do. Packets stored in the buffer 153 are transferred to the memory 3 through the bus interface 18 and the bus under the control of the DMA controller 17.
  • the counter 152 is cleared after the L level PACKET_RCVD signal is transmitted.
  • the state machine 20 is provided for controlling processing in the upstream data processing unit 4 while performing a predetermined state transition.
  • a state transition diagram in the state machine 20 is shown in FIG.
  • the state transition in the state machine 20 will be described in association with the operation in the upstream data processing unit 4 in each state.
  • FIG. 4 when the processing of the uplink data processing unit 4 is started (service in), a state (state SA) in which packet detection (first packet detection) is performed by the first packet detection unit 14 is entered.
  • state SA state SA
  • the selectors 13 and 16 are controlled so that 1-bit data from the S / P interface 12 is sequentially input to the first packet detection unit 14 and packet detection processing is performed in the first packet detection unit 14. It will be.
  • the state machine 20 detects the packet by the second packet detection unit 15 (first detection). Transition to a state (state SB) where two packets are detected. As a result, the selectors 13 and 16 are controlled so that 1-bit data from the S / P interface 12 is sequentially input to the second packet detector 15 and packet detection processing is performed in the second packet detector 15. It will be.
  • the second packet detection unit 15 may verify the read packet length depending on whether the read packet length is a value within a range planned for the packet length.
  • NOK not OK
  • NOK synchronization detection NOK
  • PDCP Packet Data Convergence Protocol
  • SDU Service Data Unit
  • the data is input to the adding unit 56.
  • the CRC adding unit 56 generates a CRC code for each PDCP-SDU and transfers it to the buffer 55 with the CRC code added.
  • the PDCP-SDU to which the CRC code is added is transferred from the USB interface 51 to the external TE aperiodically for each fixed amount of data via the S / P interface 52 by, for example, bulk transfer.
  • FIGS. 5 and 6 are flowcharts showing processing when the state machine 20 is in the states SA and SB, respectively.
  • 7 and 8 are flowcharts showing data flows when the state machine 20 is in the states SA and SB, respectively.
  • (A) the process when the state machine 20 is in the state SA and (B) the process when the state machine 20 is in the state SB will be described separately.
  • the state machine 20 enters the state SA (see FIG. 4), and the processing in the first packet detection unit 14 is performed.
  • the selectors 13 and 16 are controlled. Thereby, 1-byte data from the S / P interface 12 is sequentially sent to the CRC processing unit 19 and the first packet detection unit 14 (step S50 in FIG. 7) and accumulated.
  • the CRC processing unit 19 detects the CRC code by sequentially performing modulo operation on the data stored in 1-byte units in units of clocks (step S10 in FIG. 5)
  • the CRC-OK signal at the L level is sent to the state machine 20.
  • the CRC_OK signal is further transmitted from the state machine 20 to the first packet detector 14 (step S52 in FIG. 7).
  • the first packet detection unit 14 recognizes that the CRC code is detected.
  • the first packet detection unit 14 estimates that the stored data in the buffer 142 is the head position of the header of the packet, and reads the packet length from the header (step S12 in FIG. 5). Furthermore, the first packet detection unit 14 determines whether the length of the data in the buffer 142 matches the read packet length (that is, “packet length OK”) (step S14 in FIG. 5, FIG. 5). 7 step S54). If the packet length is OK, an L level PACKET_RCVD signal is transmitted to the state machine 20 (step S56 in FIG. 7). That is, a synchronization detection notification is made to the state machine 20 (step S16 in FIG. 5). If the packet length is not OK in step S14 of FIG. 5, CRC detection is performed again from step S10.
  • the state machine 20 continues the service unless instructed by the CPU 2 to stop the service (step S18 in FIG. 5).
  • the state SA 20 To state SB step S58 in FIG. 7; see FIG. 4.
  • the state machine 20 controls the selectors 13 and 16 in order to shift to the processing of the second packet detection unit 15.
  • the transfer destination of 1-byte data from the S / P interface 12 is switched from the first packet detection unit 14 to the second packet detection unit 15 (step S60 in FIG. 7).
  • the first packet detector 14 transmits an L-level PACKET_RCVD signal to the state machine 20, and then transmits a DMA_RQ signal requesting a DMA for transferring a packet held in the buffer 142 to the memory 3, to the DMA controller 17. (Step S62 in FIG. 7). Then, the packets in the buffer 142 are sequentially transferred to the memory 3 through the bus interface 18 in units of 1 byte (step S64 in FIG. 7). When the packet transfer to the memory 3 is completed, the DMA controller 17 transmits a DMA_COMPL signal indicating that the DMA is completed to the first packet detection unit 14 and the CPU 2. The DMA_COMPL signal is further transmitted from the first packet detection unit 14 to the state machine 20 (step S66 in FIG. 7).
  • the counter 152 starts counting the number of input bytes (step S24 in FIG. 6).
  • the second packet detection unit 15 estimates that the start position of the data input from the selector 13 is the start position of the header of the packet next to the already detected packet, and reads the packet length from a predetermined field of the header. (Step S26 in FIG. 6). Then, when the number of bytes corresponding to the read packet length is counted by the counter 152, the second packet detection unit 15 stops counting by the counter 152 (step S28 in FIG. 6) and accumulates in the buffer 153 at that time. It is determined that the received data is a packet.
  • the packet length is verified by determining whether or not the read packet length is a value in a range scheduled for the packet length (step S30 in FIG. 6 and step S74 in FIG. 8). If the packet length is OK, an L level PACKET_RCVD signal is transmitted to the state machine 20 as a synchronization detection notification (step S32 in FIG. 6 and step S76 in FIG. 8), and the counter 152 is cleared (step S36 in FIG. 6). . If the packet length is not OK in step S30 of FIG. 6, the second packet detection unit 15 transmits an H level PACKET_RCVD signal to the state machine 20. That is, an asynchronous detection notification is made to the state machine 20 (step S34 in FIG. 6).
  • the second packet detector 15 transmits an L level PACKET_RCVD signal to the state machine 20, and then transmits a DMA_RQ signal requesting a DMA for transferring a packet held in the buffer 153 to the memory 3 to the DMA controller 17. (Step S82 in FIG. 8). Then, the packets in the buffer 153 are sequentially transferred to the memory 3 through the bus interface 18 in units of 1 byte (step S84 in FIG. 8). When the packet transfer to the memory 3 is completed, the DMA controller 17 transmits a DMA_COMPL signal indicating that the DMA is completed to the second packet detection unit 15 and the CPU 2. The DMA_COMPL signal is further transmitted from the second packet detector 15 to the state machine 20 (step S86 in FIG. 8). Thereafter, in step S38 of FIG. 6, the second packet detection unit 15 continuously detects packets until the service of the state machine 20 is stopped by an instruction from the CPU 2.
  • step S32 in FIG. 6, step S76 in FIG. 8 When the state machine 20 receives an H level PACKET_RCVD signal from the second packet detector 15, that is, when an asynchronous detection notification is made (step S32 in FIG. 6, step S76 in FIG. 8), The state transitions from the state SB to the state SA in the machine 20 (see FIG. 4), and the processing of the first packet detection unit 14 resumes (step S20 in FIG. 5).
  • FIG. 9 is a diagram showing a flow of uplink data transfer from the external TE to the mobile terminal. 9, (a) to (c) show data processing in the external TE, and (d) to (f) show data processing in the mobile terminal, respectively.
  • the first IP packet includes an IP / SCTP header and an L3 (layer 3) message payload.
  • the second IP packet is made up of a payload of IP / UDP / RTP and image data (1st data).
  • the third IP packet includes a payload of IP / UDP / RTP and SMS (Short Message Service) data (2nd data).
  • SCTP Stream Control Transmission Protocol
  • UDP User Datagram Protocol
  • UDP User Datagram Protocol
  • RTP Real-time Transport Protocol
  • IP packet to be transferred is a transport layer data transfer protocol for delivering data streams such as voice and moving images in real time.
  • FIG. 9 the contents of the IP packet to be transferred are only shown for illustration, and the contents of the IP packet to be transferred may be arbitrary.
  • the external TE adds a CRC code to the transfer target IP packet before transferring the data to the mobile terminal. That is, the external TE generates and adds CRCs # 1 to # 3 as CRC codes for SDU payloads (for USB) # 1 to # 3 corresponding to the first to third IP packets, respectively.
  • the external TE performs bulk transfer of the SDU payload to which the CRC code is added with respect to the mobile terminal according to the embodiment for each fixed-size data according to the USB protocol.
  • the portion of the bulk transfer data that is insufficient is padded with a predetermined value (for example, “0”).
  • FIG. 9D shows USB bulk transfer data received on the mobile terminal side. In USB bulk transfer, fixed-length data transfer is performed regardless of the packet structure of the transfer data. Therefore, if no measures are taken on the mobile terminal side, the packets cannot be synchronized.
  • the mobile terminal performs the uplink data processing described with reference to FIGS. 7 and 8. That is, in the uplink data processing unit 4 of the mobile terminal, the first packet detection unit 14 mainly operates to detect CRC # 1, reads the packet length by estimating the header, and the packet length is OK (normal). Make sure. As a result, the first IP packet to which CRC # 1 is added is detected. Once the first IP packet is detected, the second packet detection unit 15 mainly operates to estimate the header from the data following the CRC # 1 and read the packet length, so that the CRC # 2 is added. IP packets are detected. Similarly, the next IP packet to which CRC # 3 is added is detected.
  • each IP packet detected in FIG. 9E becomes a PDCP-SDU (PDCP payload).
  • PDCP headers in the PDCP (Packet Data Convergence Protocol) layer, RLC (Radio Link Link Control) layer, and MAC (Medium Access Control) layer are sequentially provided for the PDCP-SDU (PDCP payload).
  • An RLC header and a MAC header can be added.
  • the mobile terminal of this embodiment can synchronize IP packets by detecting a CRC code. Therefore, higher layer processing can be performed with IP packets without using a protocol such as PPP.
  • the mobile terminal of the second embodiment improves the reliability of packet detection in the second packet detector 15 compared to the mobile terminal of the first embodiment.
  • the configuration of the mobile terminal according to the second embodiment is substantially the same as the configuration shown in FIG. 2, and the differences will be mainly described below.
  • the second packet detection unit 15 performs the following processing. That is, the counter 152 (measurement unit) starts its operation together with the input from the selector 13 (S / P interface 12). 1-byte data from the selector 13 is sequentially stored in the buffer 153. The header analysis unit 151 estimates that the start position of the data input from the selector 13 is the start position of the header of the packet next to the already detected packet, and reads the packet length from a predetermined field of the header.
  • the second packet detection unit 15 verifies whether or not the read packet length is correct based on the count value of the counter 152 when the CRC detection notification is received. In this packet length verification, it is determined whether the number of bytes of the read packet length matches the count value. If they match, the second packet detector 15 determines that the packet has been correctly detected (synchronized detection).
  • the state machine 20 instructs the second packet detector 15 to start processing (step S22), and the selectors 13 and 16 are controlled.
  • 1-byte data from the S / P interface 12 is sequentially sent to and stored in the CRC processing unit 19 and the second packet detecting unit 15.
  • the counter 152 starts counting the number of input bytes (step S24).
  • the second packet detection unit 15 estimates that the start position of the data input from the selector 13 (S / P interface 12) is the start position of the header of the packet next to the already detected packet, and determines the predetermined header.
  • the packet length is read from the field (step S26).
  • the second packet detection unit 15 When the second packet detection unit 15 receives the CRC detection notification from the CRC processing unit 19 (step S27), the second packet detection unit 15 stops the counter 152 (step S28). Then, the second packet detection unit 15 reads the value of the counter 152 and determines whether or not the read packet length is correct by determining whether the count value matches the number of bytes of the packet length read in step S26. Judgment is made (step S29). That is, the packet length is verified.
  • step S29 When the second packet detector 15 determines in step S29 that the packet length is correct, the second packet detector 15 sends a synchronization detection notification to the state machine 20 (step S32) and clears the counter 152 (step S36). On the other hand, when it is determined in step S29 that the packet length is not correct, an asynchronous detection notification is sent to the second packet detector 15 (step S34). Thereafter, in step S38, the second packet detection unit 15 continues to detect packets until the service of the state machine 20 is stopped by an instruction from the CPU 2.
  • FIG. 11 shows the transfer of uplink data from the external TE to the mobile terminal of this embodiment.
  • FIG. 11 is different from FIG. 9 described in the first embodiment only in the process in (e).
  • the upstream data processing unit 4 of the mobile terminal uses the first process.
  • the packet detection unit 14 mainly operates to detect CRC # 1, estimates the header, reads the packet length, and confirms the normality of the packet length. This is the same as the process shown in FIG. 9 in that the first IP packet to which CRC # 1 is added is detected.
  • the second packet detector 15 mainly operates to estimate the header from the data following CRC # 1 and read the packet length. Further, by detecting the CRC code and verifying the packet length based on the counter value, the next IP packet to which CRC # 2 is added is detected. Similarly, the next IP packet to which CRC # 3 is added is detected.
  • the synchronization of the packet that is continuously performed after the first packet is once detected is not dependent only on the reading of the packet length, but the read packet length Are sequentially verified based on the detection of the CRC code. Therefore, the reliability of packet detection is improved.
  • the mobile terminal of the third embodiment is a data terminal that is faster than the mobile terminal of the first or second embodiment.
  • the second packet detection unit is controlled (pipeline processing) so that data input / output is parallel on the time axis.
  • the uplink data processing unit 4a is different from the uplink data processing unit 4 shown in FIG. 2 in the second packet detection unit 15a and the state machine 20a.
  • the second packet detection unit 15a is different from the second packet detection unit 15 in that the second packet detection unit 15a includes a pair of buffers (BUF) 153a and 153b constituting a double buffer (so-called ping-pong buffer).
  • Each of the pair of buffers 153a and 153b has a capacity corresponding to the expected packet size.
  • the second packet detection unit 15a alternately switches the processing target buffer between the pair of buffers 153a and 153b each time a packet is detected.
  • the 1-byte data from the selector 13 is accumulated in the processing target buffer, and the data in the processing target buffer becomes the processing target of the header analysis unit 151 and the counter 152.
  • a packet is output from the buffer 153b in parallel with a period in which data is input into the buffer 153a (processing target buffer).
  • a packet is output from the buffer 153a in parallel with the period during which data is input to the buffer 153b (processing target buffer).
  • FIG. 13 is a state transition diagram of the state machine 20a.
  • state transition in the state machine 20a will be described in association with operations in the upstream data processing unit 4a in each state.
  • the process of the second packet detection unit 15 a is described as being divided into a set of phases P_a and P_b.
  • the state machine 20a transmits the packet according to the phase P_a of the second packet detection unit 15a. Transition is made to a state (state SB_a) in which detection (second packet detection (phase P_a)) is performed. Accordingly, the selectors 13 and 16 are controlled, and 1-bit data from the S / P interface 12 is sequentially stored in the buffer 153a in the second packet detection unit 15a.
  • the state machine 20a When the state machine 20a receives a signal indicating that a packet can be detected (L level PACKET_RCVD signal) and a DMA_COMPL signal indicating that DMA has been completed ((synchronization detection OK) & (DMA completion) ) And the state (state SB_b) in which the second packet detection unit 15a performs the packet detection (second packet detection (phase P_b)) by the phase P_b.
  • the selectors 13 and 16 are controlled, and 1-bit data from the S / P interface 12 is sequentially stored in the buffer 153b in the second packet detection unit 15a.
  • the state machine 20a receives a signal indicating that a packet can be detected (L level PACKET_RCVD signal) and a DMA_COMPL signal indicating that DMA has been completed ((synchronization detection OK) & (DMA completion) ), Transition to the state SB_a again. Thereafter, the state machine 20a changes the state between the states SB_a and SB_b each time a packet is detected.
  • the state machine 20a transitions to the state SA when the synchronization detection is NOK when the state machine 20a is in any of the states SB_a and SB_b.
  • FIG. 14 is a flowchart showing a data flow when the state machine 20a is in the state SB_a or SB_b.
  • the data flow when the state machine 20a is in the state SA is the same as that shown in FIG. 14, the same processing parts as those shown in FIG. 8 are denoted by the same reference numerals as those in FIG.
  • the processing is divided into the second packet detection unit 15a (phase P_a) and the second packet detection unit 15a (P_b). Each phase is executed alternately.
  • the state machine 20a moves to the state SB_a (see FIG. 13).
  • the state machine 20a instructs the second packet detection unit 15a (phase P_a) to start processing.
  • 1-byte data from the S / P interface 12 is sequentially transmitted to the CRC processing unit 19 and the second packet detection unit 15a (phase P_a) (step S70).
  • 1-byte data is sequentially stored in the buffer 153a.
  • step S72 the CRC processing unit 19 transmits a CRC_OK signal to the state machine 20a as a CRC detection notification.
  • This CRC_OK signal is further transmitted to the second packet detector 15a (phase P_a).
  • the second packet detection unit 15a Upon receiving the CRC_OK signal (CRC detection notification), the second packet detection unit 15a (phase P_a) verifies the packet length (step S75). If the packet length is OK, the second packet detection unit 15a (phase P_a) outputs an L level PACKET_RCVD signal as a synchronization detection notification.
  • the data is transmitted to the state machine 20a (step S76).
  • the state machine 20a has received a DMA_COMPL signal indicating that the DMA transfer of the packet detected before step S70 has been completed from the second packet detection unit 15a (P_b).
  • the state machine 20a makes a transition from the state SB_a to the state SB_b (see FIG. 13).
  • 1-byte data from the S / P interface 12 is sequentially sent to the CRC processing unit 19 and the second packet detection unit 15a (phase P_b).
  • step S80 switching is performed from the transfer destination of the input data from the S / P interface 12 (step S80), the 1-byte data sequentially, the CRC processing unit 19, and the second packet detection unit It is accumulated in the buffer 153b of 15a (phase P_b) (step S90). Then, a CRC_OK signal as a CRC detection notification is transmitted from the CRC processing unit 19 to the state machine 20a and further to the second packet detection unit 15a (phase P_b) (step S92).
  • step S76 the second packet detection unit 15a transmits to the DMA controller 17 a DMA_RQ signal for requesting DMA for transferring the detected packet (input data in the buffer 153a) to the memory 3 (step S76). S82). Thereafter, the detected packets are sequentially transferred to the memory 3 via the bus interface 18 for each byte data (step S84).
  • steps S84 and S90 are processing for different buffers, at least part of them can be performed in parallel on the time axis.
  • a DMA_COMPL signal indicating that the DMA transfer is completed is transmitted from the DMA controller 17 to the CPU 2 and the second packet detection unit 15a (phase P_a).
  • This DMA_COMPL signal is further transmitted to the state machine 20a (step S86).
  • the second packet detection unit 15a (phase P_a) is in a state where processing can be started anytime after the synchronization detection by the second packet detection unit 15a (phase P_b) is completed.
  • the communication device and the packet synchronization method of the present invention are not limited to the above embodiments, and various improvements and modifications can be made without departing from the spirit of the present invention. Of course it is also good.
  • the process of reading the packet length of the IP packet is performed, but this process may be changed according to the version information of the IP packet. More specifically, since the field position of the packet length information included in the header of the IP packet differs between IPv4 and IPv6, in the process of reading the packet length of the IP packet, the version information is read first, and the version information is After recognizing, the packet length is read from an appropriate field position. In both IPv4 and IPv6, version information is arranged at the head of the header.
  • this packet synchronization method relies on detection of a CRC code added between adjacent packets, and the type of the packet itself is not limited as long as packet length information can be read from a known location.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

 通信装置において、外部装置との間で特別なプロトコルを用いることなく、その外部装置からの入力データからパケットの同期をとることができるようにする通信装置が提供される。外部TEでは、携帯端末(UE)へのデータ転送前に、パケット毎にCRCコードを付加する。外部TEからUEへはUSBプロトコルに従ってデータがバルク転送される。UEでは、CRC処理部19で入力データのCRCコードが検出される。CRCコードが検出されると、第1パケット検出部14ではパケット長を読み取ることで、最初のパケットが検出される。いったん最初のパケットが検出されると、第2パケット検出部15aでは、順にパケット長を読み取ることで、後続のパケットが検出される。

Description

通信装置、パケット同期方法
 本発明は、データ転送において、入力データに含まれるパケットの同期をとる技術に関する。
 3GPP(3rd Generation Partnership Project)では、次世代無線通信システムとしてLTE(Long Term Evolution)が議論されている。LTEでは、E-UTRAN(Evolved UMTS Terrestrial Radio Access Network)と呼ばれる無線アクセスネットワークを利用し、すべてIP(Internet Protocol)ベースのトラフィックのサービスを提供することが予定されている。なお、E-UTRANの仕様については、例えば非特許文献1等に開示されている。
3GPP TS 36.133 V8.4.0(2008-12) :3rd Generation Partnership Project;Technical Specification Group Radio Access Network; "Evolved UniversalTerrestrial Radio Access (E-UTRA); Requirements for support of radio resourcemanagement" (Release 8)
 ところで、従来、携帯端末(UE:User Equipment)のような通信装置は、外部装置との間でUSB(Universal Serial Bus)通信によるデータ転送を行う場合、例えばPPP(Point to Point Protocol)等のプロトコルを利用して行ってきた。USB通信で比較的大量のデータを転送する場合には、一定量のデータ毎にバルク転送モードで転送される(いわば、レイヤを意識せずにデータが転送される)ことになるが、PPPでは、PPPフレームの先頭フラグを検出することにより、容易にフレームの同期をとることができる。
 しかしながら、すべてIPパケットで処理することが前提の次世代無線通信システムに属する携帯端末等の通信装置が、外部装置からのUSB通信によるデータ転送を受ける場合には、上位レイヤにおける処理負荷を軽減する観点から、PPPによらずIPパケットの同期をとれるようにすることが好ましい。すなわち、通信装置において、外部装置との間で特別なプロトコルを用いることなく、その外部装置からの入力データからパケットの同期をとることができるようにすることが課題である。
 第1の観点では、外部装置からの入力データに対して、パケットの同期をとるための通信装置が提供される。
 この通信装置は、
 (A)所定量の第1入力データを検査符号とし、当該第1入力データより前の入力データを検査対象データとした検査を、単位データ量毎のデータ入力毎に行い、所望の検査結果を得ることをもって検査符号を検出する第1検出部と、
 (B)前記第1検出部により検査符号が検出されたときの検査対象データの先頭位置が第1パケットのヘッダの先頭位置であると推定し、当該ヘッダから前記第1パケットのパケット長を読み出す第1ヘッダ解析部と、
 (C)前記第1検出部により検査符号が検出されたときの検査対象データの長さが、前記第1ヘッダ解析部により読み出されるパケット長、と一致するかを判定する第1判定部と、
 (D)第1検出部により検出される検査符号に続く入力データの先頭位置が、前記第1パケットに続く第2パケットのヘッダの先頭位置であると推定し、当該ヘッダから前記第2パケットのパケット長を読み出す第2ヘッダ解析部と、
 を備える。
 この通信装置では、第1判定部により読み出されるパケット長に相当する入力データとして、第1パケットが検出される。いったん第1パケットが検出されると、第2解析部により読み出されるパケット長に相当する後続の入力データとして、第2パケットが検出される。これにより、入力データに対するパケット同期がとられる。
 他の観点では、この通信装置と同様の処理を行うパケット同期方法が提供される。
 開示の通信装置およびパケット同期方法によれば、通信装置において、外部装置との間で特別なプロトコルを用いることなく、その外部装置からの入力データからパケットの同期をとることができる。
第1実施形態に係る携帯端末と外部TEを含むシステム構成を示す図。 第1実施形態に係る携帯端末の構成の要部を示すブロック図。 CRC検出処理を説明するための図。 第1実施形態に係る携帯端末内部のステートマシンの状態遷移図。 第1実施形態に係る携帯端末内部の処理を示すフローチャート。 第1実施形態に係る携帯端末内部の処理を示すフローチャート。 第1実施形態に係る携帯端末内部のデータフローを示すフロー図。 第1実施形態に係る携帯端末内部のデータフローを示すフロー図。 第1実施形態に係る携帯端末に対する外部TEからの上りデータの転送のフローを示す図。 第2実施形態に係る携帯端末内部の処理を示すフローチャート。 第2実施形態に係る携帯端末に対する外部TEからの上りデータの転送のフローを示す図。 第3実施形態に係る携帯端末の構成の要部を示すブロック図。 第3実施形態に係る携帯端末内部のステートマシンの状態遷移図。 第3実施形態に係る携帯端末内部のデータフローを示すフロー図。
符号の説明
 2…CPU、3…メモリ、4,4a…上りデータ処理部,5…下りデータ処理部、11…USBインタフェース、12…S/Pインタフェース、13,16…セレクタ、14…第1パケット検出部、15,15a…第2パケット検出部、17…DMAコントローラ、18…バスインタフェース、19…CRC処理部、20,20a…ステートマシン
 (1)第1実施形態
 以下、本発明の通信装置の一実施形態としての携帯端末について説明する。
 (1-1)携帯端末(UE)と外部TEの通信
 図1は、実施形態に係る携帯端末(UE:User Equipment)と、パーソナルコンピュータ等の外部TE(Terminal Equipment)2とを含む通信システムを示す。図1において、携帯端末と外部TEとは、USB(Universal Serial Bus)ケーブルで接続されている。
 ここで、携帯端末が、外部TEからUSBケーブルを通して、例えば画像データ等の大量のデータをバルク転送モードにより送受信する場合を想定する。外部TEから携帯端末へのUSBによるバルク転送においては、転送データのレイヤが認識されることなく、一定の転送量(1~512バイト)のデータ単位で順次、外部TEから携帯端末へデータの転送がなされる。
 図1に示す通信システムおいて、外部TEでは、データ転送前にIPパケットの最後にCRC(Cyclic Redundancy Check)コードが付加される。そして、携帯端末と外部TEとのUSB通信では、CRCコードが付加された状態でデータの送受信が行われる。CRCの種類は、携帯端末と外部TEとの間で予め決めておけばよく、この実施形態では、例えばCRC-16が使用される。これにより、実施形態に係る携帯端末では、外部TEから転送されるバルクデータからCRCコードを検出することにより、IPパケットを検出する(以下の説明では適宜、「パケットの同期をとる」又は「同期検出する」と表記する。)ように構成されている。
 (1-2)携帯端末(UE)の構成
 次に、実施形態の携帯端末の構成について、図2を参照して説明する。図2は、実施形態の携帯端末の構成の要部を示すブロック図である。
 図2に示すように、この携帯端末(UE)は、CPU2、メモリ3、上りデータ処理部4、下りデータ処理部5を備えている。
 上りデータ処理部4は、USBインタフェース(USB I/F)11、S/P(Serial/Parallel)インタフェース(S/P I/F)12、セレクタ(SEL)13及び16、第1パケット検出部14、第2パケット検出部15、DMAコントローラ(DMAC)17、バスインタフェース(BUS I/F)18、CRC処理部19(第1検出部)、ステートマシン20、を含む。
 下りデータ処理部5は、USBインタフェース(USB I/F)51、S/P(Serial/Parallel)インタフェース(S/P I/F)52、バッファ(BUF)55、CRC付加部56、DMA(Direct Memory Access)コントローラ(DMAC)57、バスインタフェース(BUS I/F)58、を含む。
 なお、図2において、矢印付きの実線は転送データの処理の流れを示しており、矢印付きの点線は内部の制御データの処理の流れを示している。また、上りデータ処理部4及び下りデータ処理部5におけるデータ処理は、所定のクロック単位で順次行われる。
 上りデータ処理部4の構成について、上りデータの処理の流れに沿って説明する。
 USBインタフェース11は、USBプロトコルに従って外部TEからUSBケーブルを通してデータを受信する。この実施形態の説明では、USBによるデータ転送モードとしてバルク転送を想定する。このバルク転送では、外部TEから比較的まとまった量のデータが非周期的に携帯端末へ転送される。
 上りデータ処理部4では、第1パケット検出部14又は第2パケット検出部15からステートマシン20に対して、パケットの検出可否を示す信号としてPACKET_RCVD信号(以下の説明では例えば、Hレベル:パケット検出不可,Lレベル:パケット検出可、とする。)が送信される。
 上りデータ処理部4では、第1パケット検出部14又は第2パケット検出部15からステートマシン20に対して、CRC検出のOK/NOKを示す信号としてCRC_OK信号(以下の説明では例えば、Hレベル:CRC検出NOK,Lレベル:CRC検出OK、とする。)が送信される。
 S/Pインタフェース12は、USBインタフェース11からのシリアルデータをCRC検出に適したデータサイズ、例えば1バイトの幅のパラレルデータに変換する。この1バイトデータ(単位データ量のデータ)が、セレクタ13及びCRC処理部19へ出力される。
 セレクタ13は、ステートマシン20による制御指令に応じて、S/Pインタフェース12からの1バイトデータを、第1パケット検出部14又は第2パケット検出部15のいずれかへ出力する。
 CRC処理部19は、S/Pインタフェース12からの1バイト幅のデータを1クロックで並列的にCRC演算が可能な構成を備えている。本実施形態において、CRCの生成多項式を限定するものではないが、CRC処理部19では、16ビットのCRC(CRC-16)が適用され、例えば生成多項式としてX16+X15+X+1が使用される。CRC処理部19は、生成多項式を用いたモジュロ演算を行い、その検査結果をステートマシン20へ通知する。具体的には、モジュロ演算の剰余が所望の値(典型的には「0」)であるときにはCRC検出OKであるとして、LレベルのCRC_OK信号がステートマシン20へ送信される。
 CRC処理部19は、S/Pインタフェース12からの1バイトデータを順次蓄積するバッファ(図示しない)を備えている。CRC処理部19は、第1パケット検出部14からの制御指令に応じてCRC検出を行うときには、バッファ内の検査対象データに対して順次、最後に入力する16ビットデータがCRCコード(検査符号)であると仮定して上記モジュロ演算(検査)を行う。その結果、CRCコードが検出されたとき、すなわちCRC検出がOKとなったときには、内部のバッファがリセットされる。
 ここで、CRC処理部19における処理について、図3を参照してさらに説明する。
 図3は、第1パケット検出部14からの制御指令に応じてCRC検出を行うときのクロック毎のCRC検出処理を示す図である。図3では、連続するk番目~k+2番目のクロックにおけるモジュロ演算処理を時系列で例示する図である。図3において、(b)に示すk+1番目のクロックの処理では、バッファ内の最後の1バイトと新たに入力する1バイトデータをCRCコードと仮定し、バッファ内の残りのデータを検査対象データとしてモジュロ演算を行う。
 (c)に示すk+2番目のクロックの処理では、さらに新たな1バイトデータを取り込み、その新たな1バイトデータを含む最新の2バイトデータをCRCと仮定し、バッファ内の残りのデータを検査対象データとしてモジュロ演算を行う。このときの検査対象データは、k+1番目のクロックの処理と比較して1バイト分増加する。
 同様にして、CRC処理部19は、新たに1バイトデータを取り込む毎に、検査対象データと、仮定するCRCコードとを更新していき、モジュロ演算の剰余が例えば「0」となるときのCRCコードを探索する。
 図2に戻り、第1パケット検出部14は、ヘッダ解析部141(第1ヘッダ解析部)とバッファ(BUF)142を備えており、パケットの最後に付加されているCRCコードを検出することでIPパケットの同期をとる。最初にパケットを検出するときには、第1パケット検出部14においてパケット検出が行われる。
 バッファ142には少なくとも、予定するパケットの大きさに相当する容量を備えており、セレクタ13から転送される1バイトデータが順次蓄積される。このバッファ142には、各クロックにおいてCRC処理部19における検査対象データと同一のデータが蓄えられる。
 CRC処理部19によるCRC検出がOKであるときには、第1パケット検出部14はステートマシン20から、LレベルのCRC_OK信号を受信する。このLレベルのCRC_OK信号を受信すると、ヘッダ解析部141は、バッファ142に蓄積されたデータがパケットであると認識し、蓄積データの先頭位置からヘッダを解析する。すなわち、IPパケットの場合、ヘッダ内のフィールド構成は予め既知であるため、ヘッダ解析部141は、ヘッダからパケット長(Total Length)を読み出す。第1判定部としての第1パケット検出部14は、この読み出したパケット長と、バッファ142内のデータの長さとが一致するか判定する。すなわち、パケット長の検証が行われる。
 バッファ142内のデータの長さがパケット長と一致する場合には、LレベルのPACKET_RCVD信号をステートマシン20へ送信する。この検出されたパケットは、DMAコントローラ17による制御の下、バスインタフェース18及びバスを通してメモリ3へ転送される。
 図2に示すように、第2パケット検出部15は、ヘッダ解析部151(第2ヘッダ解析部)、カウンタ152、バッファ(BUF)153、を備えている。バッファ153には少なくとも、予定するパケットの大きさに相当する容量を備えている。
 ステートマシン20による制御の下、いったん第1パケット検出部14によりパケットが検出された後に、第2パケット検出部15の処理が開始される。すなわち、ステートマシン20の制御によりセレクタ13が切り替えられる。ここで、ヘッダ解析部151は、セレクタ13から入力するデータの先頭位置が、既に検出されたパケットの次のパケットのヘッダの先頭位置であると推定し、そのヘッダの所定のフィールドからパケット長を読み出す。
 カウンタ152は、セレクタ13から1バイト入力する毎にカウントアップするバイトカウンタである。カウンタ152は、セレクタ13からの1バイトデータを順次バッファ153に蓄積する。
 第2パケット検出部15は、カウンタ152の値が、読み出されたパケット長に相当する値(バイト数)に達したときにカウンタ152を停止させ、LレベルのPACKET_RCVD信号をステートマシン20へ送信する。バッファ153に蓄積されるパケットは、DMAコントローラ17による制御の下、バスインタフェース18及びバスを通してメモリ3へ転送される。なお、LレベルのPACKET_RCVD信号が送信された後、カウンタ152はクリアされる。
 ステートマシン20は、所定の状態遷移を行いながら、上りデータ処理部4内の処理を制御するために設けられる。
 ステートマシン20における状態遷移図を図4に示す。以下、ステートマシン20における状態遷移について、各状態における上りデータ処理部4内の動作と関連付けて説明する。
 図4において、上りデータ処理部4の処理が開始されると(サービスイン)、第1パケット検出部14によるパケット検出(第1パケット検出)を行う状態(状態SA)となる。これにより、セレクタ13,16が制御されて、S/Pインタフェース12からの1ビットデータが順次、第1パケット検出部14に入力されるとともに、第1パケット検出部14においてパケット検出処理が行われることになる。
 また、CRC処理部19によりCRCが検出され、かつ第1パケット検出部14によるパケット長の検証がOKとなると(同期検出OK)、ステートマシン20は、第2パケット検出部15によるパケット検出(第2パケット検出)を行う状態(状態SB)へ遷移する。これにより、セレクタ13,16が制御されて、S/Pインタフェース12からの1ビットデータが順次、第2パケット検出部15に入力されるとともに、第2パケット検出部15においてパケット検出処理が行われることになる。
 なお、第2パケット検出部15では、読み出したパケット長が、パケット長として予定されている範囲内の値であるか等により、読み出したパケット長の検証を行うようにしてもよい。パケット長がNOK(OKでない)である場合(すなわち、同期検出NOKの場合)には、図4に示すように、ステートマシン20は、第2パケット検出を行う状態から第1パケット検出を行う状態へ遷移することが好ましい。
 図2を再度参照すると、下りデータ処理部5では、DMAコントローラ57による制御の下、PDCP(Packet Data Convergence Protocol)-SDU(Service Data Unit)のデータがメモリ3からバス及びバスインタフェース58を通して、CRC付加部56に入力される。CRC付加部56では、各PDCP-SDUに対してCRCコードを生成し、CRCコードを付加した状態でバッファ55へ転送する。CRCコードが付加されたPDCP-SDUは、S/Pインタフェース52を経由し、USBインタフェース51から例えばバルク転送により、一定量のデータ毎に非周期的に外部TEへ転送される。
 (1-3)上りデータの処理
 次に、実施形態の携帯端末における上りデータの処理について、図5~図8を参照して説明する。図5、図6はそれぞれ、ステートマシン20が状態SA、SBにあるときの処理を示すフローチャートである。図7、図8はそれぞれ、ステートマシン20が状態SA、SBにあるときのデータフローを示すフロー図である。
 以下、(A)ステートマシン20が状態SAにあるときの処理と、(B)ステートマシン20が状態SBにあるときの処理と、に場合を分けて説明する。
 (A)ステートマシン20が状態SAにあるときの処理
 最初にパケットを検出しようとするときには、ステートマシン20では状態SAとなり(図4参照)、第1パケット検出部14における処理が行われるように、セレクタ13,16が制御される。これにより、S/Pインタフェース12からの1バイトデータがCRC処理部19及び第1パケット検出部14へ順次送出され(図7のステップS50)、蓄積されていく。CRC処理部19は、1バイト単位で蓄積されるデータに対してクロック単位で逐次モジュロ演算を行うことでCRCコードを検出すると(図5のステップS10)、LレベルのCRC_OK信号をステートマシン20へ送信する。このCRC_OK信号はさらに、ステートマシン20から第1パケット検出部14へ送信される(図7のステップS52)。これにより、第1パケット検出部14はCRCコードが検出されたことを認識する。
 次に、第1パケット検出部14は、バッファ142内の蓄積データがパケットのヘッダの先頭位置であると推定し、そのヘッダからパケット長を読み出す(図5のステップS12)。さらに、第1パケット検出部14は、バッファ142内のデータの長さが、読み出したパケット長と一致するか(すなわち、「パケット長OK」であるか)判定する(図5のステップS14、図7のステップS54)。パケット長OKである場合には、LレベルのPACKET_RCVD信号をステートマシン20へ送信する(図7のステップS56)。すなわち、ステートマシン20へ同期検出通知が行われる(図5のステップS16)。なお、図5のステップS14でパケット長OKでない場合には、再度ステップS10からCRC検出が行われる。
 ステートマシン20では、サービス停止をCPU2から指示されない限りサービスを継続し(図5のステップS18)、第1パケット検出部14からLレベルのPACKET_RCVD信号を受信すると(図7のステップS56)、状態SAから状態SBへ遷移する(図7のステップS58;図4参照)。これにより、ステートマシン20は、第2パケット検出部15の処理へ移行させるために、セレクタ13,16を制御する。その結果、S/Pインタフェース12からの1バイトデータの転送先が、第1パケット検出部14から第2パケット検出部15へ切り替えられる(図7のステップS60)。
 第1パケット検出部14は、LレベルのPACKET_RCVD信号をステートマシン20へ送信した後、バッファ142内に保持するパケットをメモリ3へ転送するためのDMAを要求するDMA_RQ信号をDMAコントローラ17へ送信する(図7のステップS62)。そして、バッファ142内のパケットが1バイト単位で順次、バスインタフェース18を通して、メモリ3へ転送される(図7のステップS64)。メモリ3へのパケット転送が終了すると、DMAコントローラ17は、第1パケット検出部14及びCPU2に対して、DMAが完了したことを示すDMA_COMPL信号を送信する。このDMA_COMPL信号はさらに、第1パケット検出部14からステートマシン20へ送信される(図7のステップS66)。
 (B)ステートマシン20が状態SBにあるときの処理
 いったん最初のパケットが検出されると、ステートマシン20では状態SBへ移行する(図4参照)。ステートマシン20は第2パケット検出部15に対して処理を開始するように指示し(図6のステップS22)、セレクタ13,16が制御される。これにより、S/Pインタフェース12からの1バイトデータがCRC処理部19及び第2パケット検出部15へ順次送出され(図8のステップS70)、蓄積されていく。
 S/Pインタフェース12からデータが入力されると、第2パケット検出部15では、カウンタ152が、入力されるバイト数のカウントを開始する(図6のステップS24)。
 第2パケット検出部15は、セレクタ13から入力するデータの先頭位置が、既に検出されたパケットの次のパケットのヘッダの先頭位置であると推定し、そのヘッダの所定のフィールドからパケット長を読み出す(図6のステップS26)。そして、第2パケット検出部15は、読み出したパケット長に相当するバイト数がカウンタ152でカウントされると、カウンタ152によるカウントを停止し(図6のステップS28)、その時点でバッファ153に蓄積されたデータがパケットであると判断する。
 好ましくは、読み出したパケット長が、パケット長として予定されている範囲の値であるかを判定することにより、パケット長の検証を行う(図6のステップS30、図8のステップS74)。パケット長がOKであれば、同期検出通知としてLレベルのPACKET_RCVD信号をステートマシン20へ送信し(図6のステップS32、図8のステップS76)、カウンタ152をクリアする(図6のステップS36)。
 なお、図6のステップS30でパケット長がOKでない場合には、第2パケット検出部15は、HレベルのPACKET_RCVD信号がステートマシン20へ送信する。すなわち、ステートマシン20へ非同期検出通知が行われる(図6のステップS34)。
 第2パケット検出部15は、LレベルのPACKET_RCVD信号をステートマシン20へ送信した後、バッファ153内に保持するパケットをメモリ3へ転送するためのDMAを要求するDMA_RQ信号をDMAコントローラ17へ送信する(図8のステップS82)。そして、バッファ153内のパケットが1バイト単位で順次、バスインタフェース18を通して、メモリ3へ転送される(図8のステップS84)。メモリ3へのパケット転送が終了すると、DMAコントローラ17は、第2パケット検出部15及びCPU2に対して、DMAが完了したことを示すDMA_COMPL信号を送信する。このDMA_COMPL信号はさらに、第2パケット検出部15からステートマシン20へ送信される(図8のステップS86)。
 以降、図6のステップS38で、CPU2の指示によりステートマシン20のサービスが停止させられるまで、パケットの検出が第2パケット検出部15において連続して行われる。
 なお、ステートマシン20が第2パケット検出部15からHレベルのPACKET_RCVD信号を受信した場合、すなわち、非同期検出通知が行われた場合(図6のステップS32、図8のステップS76)には、ステートマシン20内で状態SBから状態SAへ遷移し(図4参照)、第1パケット検出部14の処理が再開する(図5のステップS20)。
 (1-4)外部TEから携帯端末(UE)への上りデータの転送
 次に、外部TEから携帯端末への上りデータの転送について、図9を参照して説明する。図9は、外部TEから携帯端末への上りデータの転送のフローを示す図である。図9において、(a)~(c)は外部TEにおけるデータ処理、(d)~(f)は携帯端末におけるデータ処理、をそれぞれ示している。
 先ず、図9(a)に示すように、一例として3個のIPパケットを外部TEから携帯端末へ転送する場合を想定する。1個目のIPパケットは、IP/SCTPヘッダとL3(レイヤ3)メッセージのペイロードからなる。2個目のIPパケットは、IP/UDP/RTPと画像データ(1st data)のペイロードからなる。3個目のIPパケットは、IP/UDP/RTPとSMS(Short Message Service)データ(2nd data)のペイロードからなる。
 ここで、SCTP(Stream Control Transmission Protocol)は輻輳制御を行うためのトランスポートレイヤのプロトコルである。UDP(User
Datagram Protocol)はIPプロトコルに実装されるトランスポートレイヤのプロトコルである。RTP(Real-time Transport Protocol)は、音声や動画等のデータストリームをリアルタイムに配送するためのトランスポートレイヤのデータ転送プロトコルである。
 なお、図9では、転送対象のIPパケットの内容は例示のために図示したに過ぎず、転送対象のIPパケットの内容は任意のものでよい。
 図9(b)に示すように、この実施形態において、外部TEでは、携帯端末へデータを転送する前に、転送対象のIPパケットに対してCRCコードを付加する。すなわち、外部TEは、1~3個目のIPパケットに相当するSDUペイロード(USB用)#1~3に対するCRCコードとして、それぞれCRC#1~3を生成して付加する。
 次に、外部TEは、図9(c)に示すように、USBプロトコルに従い、実施形態の携帯端末との間でCRCコードが付加されたSDUペイロードを固定サイズのデータ毎にバルク転送する。なお、図に示すように、バルク転送データで足りない部分は所定の値(例えば「0」)でパディング(Padding)される。図9(d)は、携帯端末側で受信するUSBバルク転送データを示している。USBのバルク転送では、転送データのパケット構成とは無関係に固定長のデータ転送がなされるため、仮に携帯端末側で何らの処置も取っていないとすれば、パケットの同期をとることはできない。
 図9(e)において、携帯端末では、図7及び図8を参照して説明した上りデータの処理が行われる。すなわち、携帯端末の上りデータ処理部4では、第1パケット検出部14が主として動作してCRC#1を検出するとともに、ヘッダを推定してパケット長を読み出し、パケット長がOK(正常)であるか確認する。これにより、CRC#1が付加された最初のIPパケットが検出される。
 いったん最初のIPパケットが検出されると、第2パケット検出部15が主として動作して、CRC#1に続くデータからヘッダを推定してパケット長を読み出すことで、CRC#2が付加された次のIPパケットが検出される。同様にして、CRC#3が付加された次のIPパケットが検出される。
 図9(f)に示すように、図(e)で検出された各IPパケットは、PDCP-SDU(PDCPペイロード)となる。実施形態の携帯端末では、このPDCP-SDU(PDCPペイロード)に対して順に、PDCP(Packet Data Convergence Protocol)レイヤ、RLC(Radio Link. Control)レイヤ、MAC(Medium Access Control)レイヤにおいてそれぞれPDCPヘッダ、RLCヘッダ、MACヘッダが付加されうる。
 以上説明したように、本実施形態の携帯端末は、CRCコードを検出することによりIPパケットの同期をとることができるようになっている。よって、PPP等のプロトコルを利用することなくIPパケットのまま上位レイヤの処理を行うことができる。
 (2)第2実施形態
 以下、本発明の通信装置の第2実施形態としての携帯端末について説明する。
 第2実施形態の携帯端末は、第1実施形態の携帯端末に対して、第2パケット検出部15におけるパケットの検出の信頼性を向上させるものである。なお、第2実施形態の携帯端末の構成は、図2に示した構成と概略同一であり、主として相違点について以下で説明する。
 (2-1)携帯端末(UE)の構成
 本実施形態の携帯端末において、ステートマシン20が状態SB(図4参照)にあるときには、CRC処理部19(第2検出部)は、S/Pインタフェース12から1バイトデータが入力される毎に、内部のバッファに順次蓄積されるデータから、所定の生成多項式に基づくCRCコードを生成していく。そして、生成したCRCコードが、CRCコードの生成の基礎となる入力データ(処理対象データ)に続く所定量の入力データ(ここで、「所定量」とはCRCコードとして予定するデータ量である。)と一致するかを判定する。その結果、一致した場合には、CRCコードを検出したことを示す信号をステートマシン20へ送信する。この信号はさらに、ステートマシン20から第2パケット検出部15へ送信される(CRC検出通知)。
 この実施形態において、第2パケット検出部15では、以下の処理が行われる。すなわち、カウンタ152(測定部)は、セレクタ13(S/Pインタフェース12)からの入力とともに動作を開始する。セレクタ13からの1バイトデータは順次バッファ153に蓄積される。ヘッダ解析部151は、セレクタ13から入力するデータの先頭位置が、既に検出されたパケットの次のパケットのヘッダの先頭位置であると推定し、そのヘッダの所定のフィールドからパケット長を読み出す。
 第2判定部としての第2パケット検出部15は、CRC検出通知を受けた時点におけるカウンタ152のカウント値に基づいて、読み出したパケット長が正しいか否かについての検証を行う。このパケット長の検証では、読み出したパケット長のバイト数がカウント値と一致するかについて判定される。一致する場合、第2パケット検出部15は、正しくパケットが検出(同期検出)されたと判断する。
 (2-2)携帯端末(UE)のデータ処理
 次に、図10を参照して、本実施形態の携帯端末のデータ処理について説明する。ステートマシン20が状態SA(図4参照)にあるときの処理は第1実施形態のものと同一であるため、ステートマシン20が状態SB(図4参照)にあるときの処理についてのみ説明する。なお、図10のフローチャートにおいて、図6と同じステップの部位については同一の符号を付してある。
 図10において、先ず、ステートマシン20は第2パケット検出部15に対して処理を開始するように指示し(ステップS22)、セレクタ13,16が制御される。これにより、S/Pインタフェース12からの1バイトデータがCRC処理部19及び第2パケット検出部15へ順次送出され、蓄積されていく。
 S/Pインタフェース12からデータが入力されると、第2パケット検出部15では、カウンタ152が、入力されるバイト数のカウントを開始する(ステップS24)。第2パケット検出部15は、セレクタ13(S/Pインタフェース12)から入力するデータの先頭位置が、既に検出されたパケットの次のパケットのヘッダの先頭位置であると推定し、そのヘッダの所定のフィールドからパケット長を読み出す(ステップS26)。
 第2パケット検出部15は、CRC処理部19からCRC検出通知を受けると(ステップS27)、カウンタ152を停止させる(ステップS28)。そして、第2パケット検出部15は、カウンタ152の値を読み取り、そのカウント値がステップS26で読み出したパケット長のバイト数と一致するか判定することにより、読み出したパケット長が正しいか否かを判断する(ステップS29)。すなわち、パケット長の検証が行われる。
 第2パケット検出部15は、ステップS29においてパケット長が正しいと判断するときには、同期検出通知をステートマシン20に対して行い(ステップS32)、カウンタ152をクリアする(ステップS36)。一方、ステップS29においてパケット長が正しくないと判断するときには、第2パケット検出部15に対して非同期検出通知を行う(ステップS34)。
 以降、ステップS38で、CPU2の指示によりステートマシン20のサービスが停止させられるまで、第2パケット検出部15においてパケットの検出が継続して行われる。
 (2-3)外部TEから携帯端末(UE)への上りデータの転送
 外部TEから本実施形態の携帯端末への上りデータの転送について、図11に示してある。図11は、第1実施形態で説明した図9と比較して、(e)における処理のみが異なるものとなっている
 図11(e)において、携帯端末の上りデータ処理部4では、第1パケット検出部14が主として動作してCRC#1を検出するとともに、ヘッダを推定してパケット長を読み出し、パケット長の正常性を確認する。これによりCRC#1が付加された最初のIPパケットが検出される点は、図9に示した処理と同様である。
 いったん最初のIPパケットが検出されると、第2パケット検出部15が主として動作して、CRC#1に続くデータからヘッダを推定してパケット長を読み出す。さらに、CRCコードの検出、カウンタの値に基づくパケット長の検証を行うことで、CRC#2が付加された次のIPパケットが検出される。同様にして、CRC#3が付加された次のIPパケットが検出される。
 以上説明したように、本実施形態の携帯端末では、いったん最初のパケットが検出された後に継続して行われるパケットの同期を、パケット長の読み出しのみに依存するのではなく、その読み出したパケット長を、CRCコードの検出に基づき逐次検証する。よって、パケットの検出の信頼性が向上する。
 (3)第3実施形態
 以下、本発明の通信装置の第3実施形態としての携帯端末について説明する。
 第3実施形態の携帯端末は、第1又は第2実施形態の携帯端末に対して、データ処理の高速化を図ったものである。このデータ処理の高速化のため、本実施形態の携帯端末では、第2パケット検出部において、データの入出力が時間軸上で並列となるように制御(パイプライン処理)される。
 (3-1)携帯端末(UE)の構成
 第3実施形態の携帯端末の構成を図12に示す。図12において、第1実施形態と同一の構成部分については同一の符号を付し、重複説明を行わない。
 図12において、本実施形態の携帯端末において、上りデータ処理部4aは、図2に示した上りデータ処理部4と比較して、第2パケット検出部15aとステートマシン20aが相違する。第2パケット検出部15aは、ダブルバッファ(いわゆるピンポンバッファ)を構成する1組のバッファ(BUF)153a,153bを備える点で第2パケット検出部15と相違する。1組のバッファ153a,153bはそれぞれ、予定するパケットの大きさに相当する容量を備えている。
 第2パケット検出部15aは、パケットを検出する毎に、処理対象のバッファを1組のバッファ153a,153bの間で交互に切り替える。処理対象のバッファにセレクタ13からの1バイトデータが蓄積されていき、処理対象のバッファ内のデータがヘッダ解析部151及びカウンタ152の処理対象となる。このとき、例えばバッファ153a(処理対象のバッファ)内にデータを入力している期間と並行して、バッファ153bからパケットが出力される。同様に、バッファ153b(処理対象のバッファ)内にデータを入力している期間と並行して、バッファ153aからパケットが出力される。
 図13は、ステートマシン20aの状態遷移図である。以下、ステートマシン20aにおける状態遷移について、各状態における上りデータ処理部4a内の動作と関連付けて説明する。なお、図13では、第2パケット検出部15aの処理を1組のフェーズP_a,P_bに分けて記載してある。
 図13において、上りデータ処理部4aの処理が開始されると(サービスイン)、第1パケット検出部14によるパケット検出(第1パケット検出)を行う状態(状態SA)となる。これにより、セレクタ13,16が制御されて、S/Pインタフェース12からの1ビットデータが順次、第1パケット検出部14に入力されるとともに、第1パケット検出部14においてパケット検出処理が行われることになる。
 また、CRC処理部19によりCRCが検出され、かつ第1パケット検出部14によるパケット長の検証がOKとなると(同期検出OK)、ステートマシン20aは、第2パケット検出部15aのフェーズP_aによるパケット検出(第2パケット検出(フェーズP_a))を行う状態(状態SB_a)へ遷移する。これにより、セレクタ13,16が制御されて、S/Pインタフェース12からの1ビットデータが順次、第2パケット検出部15a内のバッファ153aに蓄積されていく。そして、ステートマシン20aは、パケットの検出可であることを示す信号(LレベルのPACKET_RCVD信号)、及びDMAが完了したことを示すDMA_COMPL信号が与えられると((同期検出OK)&(DMA完了))、第2パケット検出部15aのフェーズP_bによるパケット検出(第2パケット検出(フェーズP_b))を行う状態(状態SB_b)へ遷移する。
 状態SB_bへ遷移すると、セレクタ13,16が制御されて、S/Pインタフェース12からの1ビットデータが順次、第2パケット検出部15a内のバッファ153bに蓄積されていく。そして、ステートマシン20aは、パケットの検出可であることを示す信号(LレベルのPACKET_RCVD信号)、及びDMAが完了したことを示すDMA_COMPL信号が与えられると((同期検出OK)&(DMA完了))、再度状態SB_aへ遷移する。以後、ステートマシン20aは、パケットが検出される毎に、状態SB_a,SB_bの間で状態を遷移させる。
 なお、ステートマシン20aは、状態SB_a,SB_bのいずれかの状態にあるときに、同期検出がNOKとなった場合には、状態SAへ遷移させる。
 (3-2)上りデータの処理
 次に、実施形態の携帯端末における上りデータの処理について、図14を参照して説明する。図14は、ステートマシン20aが状態SB_a又はSB_bにあるときのデータフローを示すフロー図である。なお、ステートマシン20aが状態SAにあるときのデータフローは、図7に示したものと同一である。図14において、図8に示したものと同一の処理部位については、図8と同一の符号を付している。
 なお、図14では、第2パケット検出部15aの処理をフェーズ毎に区別するため、第2パケット検出部15a(フェーズP_a),第2パケット検出部15a(P_b)に分けて記載してある。各フェーズが交互に実行される。
 いったん最初のパケットが検出されると、ステートマシン20aでは状態SB_aへ移行する(図13参照)。ステートマシン20aは第2パケット検出部15a(フェーズP_a)に対して処理を開始するように指示する。これにより、S/Pインタフェース12からの1バイトデータがCRC処理部19、及び第2パケット検出部15a(フェーズP_a)へ順次送出されていく(ステップS70)。第2パケット検出部15a(フェーズP_a)内では、1バイトデータが順次、バッファ153aに蓄積されていく。
 ステップS72において、CRC処理部19は、CRC検出通知としてCRC_OK信号をステートマシン20aを送信する。このCRC_OK信号はさらに、第2パケット検出部15a(フェーズP_a)に送信される。第2パケット検出部15a(フェーズP_a)は、CRC_OK信号(CRC検出通知)を受けるとパケット長の検証を行い(ステップS75)、パケット長がOKであれば同期検出通知としてLレベルのPACKET_RCVD信号をステートマシン20aへ送信する(ステップS76)。
 この時点で、ステートマシン20aは、ステップS70より前に検出したパケットのDMA転送が完了したことを示すDMA_COMPL信号を、第2パケット検出部15a(P_b)から受信済みであるとする。その場合、ステートマシン20aでは、状態SB_aから状態SB_bへ遷移する(図13参照)。これにより、S/Pインタフェース12からの1バイトデータがCRC処理部19及び第2パケット検出部15a(フェーズP_b)へ順次送出されていく。第2パケット検出部15a(フェーズP_b)内では、S/Pインタフェース12からの入力データの転送先から切り替えられ(ステップS80)、1バイトデータが順次、CRC処理部19、及び第2パケット検出部15a(フェーズP_b)のバッファ153bに蓄積されていく(ステップS90)。そして、CRC検出通知としてのCRC_OK信号がCRC処理部19からステートマシン20aへ、さらには第2パケット検出部15a(フェーズP_b)へ送信される(ステップS92)。
 一方、第2パケット検出部15aは、ステップS76の後、検出されたパケット(バッファ153a内の入力データ)をメモリ3へ転送するためのDMAを要求するDMA_RQ信号をDMAコントローラ17へ送信する(ステップS82)。その後、検出されたパケットが1バイトデータ毎に順次、バスインタフェース18を介してメモリ3へ転送される(ステップS84)。
 ここで、ステップS84とステップS90については、異なるバッファに対する処理であるため、時間軸上で少なくとも一部を並列に行うことが可能である。
 ステップS84におけるデータ転送が完了すると、DMA転送が完了したことを示すDMA_COMPL信号が、DMAコントローラ17からCPU2及び第2パケット検出部15a(フェーズP_a)へ送信される。このDMA_COMPL信号はさらに、ステートマシン20aへ送信される(ステップS86)。これにより、第2パケット検出部15a(フェーズP_a)は、第2パケット検出部15a(フェーズP_b)による同期検出が終了すればいつでも処理が開始可能な状態となる。
 以上説明したように、本実施形態の携帯端末では、いったん最初のパケットが検出された後に継続して行われるパケット検出処理において、データ入力とパケットの出力(転送)とが時間軸上で並列となるように制御される。よって、本実施形態の携帯端末では、パケットの同期のためのデータ処理が高速化される。
 以上、本発明の実施形態について詳細に説明したが、本発明の通信装置、パケット同期方法は上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。
 例えば、以上の各実施形態では、IPパケットのパケット長を読み出す処理を行っているが、この処理は、IPパケットのバージョン情報に応じて変更するようにしてもよい。より具体的には、IPv4とIPv6では、IPパケットのヘッダ内に含まれるパケット長の情報のフィールド位置が異なるため、IPパケットのパケット長を読み出す処理では、先にバージョン情報を読み出し、バージョン情報を認識したうえで適切なフィールド位置からパケット長を読み出すようにする。なお、IPv4とIPv6は共に、バージョン情報がヘッダの先頭に配置されている。
 また、以上の実施形態は主としてIPパケットの同期をとる観点から説明してきたが、パケットの種類が限られないのは当然である。すなわち、このパケット同期方法は、隣接パケット間に付加されるCRCコードの検出に依拠しており、既知の場所からパケット長の情報を読み取ることが可能であれば、パケット自体の種類は問わない。

Claims (10)

  1.  外部装置からの入力データに対して、パケットの同期をとるための通信装置であって、
     所定量の第1入力データを検査符号とし、当該第1入力データより前の入力データを検査対象データとした検査を、単位データ量毎のデータ入力毎に行い、所望の検査結果を得ることをもって検査符号を検出する第1検出部と、
     前記第1検出部により検査符号が検出されたときの検査対象データの先頭位置が第1パケットのヘッダの先頭位置であると推定し、当該ヘッダから前記第1パケットのパケット長を読み出す第1ヘッダ解析部と、
     前記第1検出部により検査符号が検出されたときの検査対象データの長さが、前記第1ヘッダ解析部により読み出されるパケット長、と一致するかを判定する第1判定部と、
     第1検出部により検出される検査符号に続く入力データの先頭位置が、前記第1パケットに続く第2パケットのヘッダの先頭位置であると推定し、当該ヘッダから前記第2パケットのパケット長を読み出す第2ヘッダ解析部と、
     を備えた、通信装置。
  2.  前記第2パケットのヘッダの先頭位置からの入力データ長を、単位データ量毎のデータ入力毎に測定する測定部と、
     前記第2パケットのヘッダの先頭位置からの入力データを処理対象データとして、当該処理対象データに対応する所定量の検査符号を、単位データ量毎のデータ入力毎に生成し、生成した検査符号が処理対象データに続く前記所定量の入力データと一致することをもって検査符号を検出する第2検出部と、
     前記第2検出部により検査符号が検出されたときの前記処理対象データの長さが、前記測定部により測定される入力データ長と一致するかを判定する第2判定部と、
     を備えた、請求項1に記載の通信装置。
  3.  前記第1判定部により、検査対象データの長さがパケット長と一致すると判定した後は、前記第2ヘッダ解析部によりパケット長を順次読み出すことにより後続のパケットの同期をとる、
     請求項2に記載の通信装置。
  4.  前記第2判定部において、処理対象データの長さが入力データ長と一致しない場合には、前記第1検出部による検査符号の検出処理が行われるように制御される、
     請求項3に記載の通信装置。
  5.  データ入力及び前記第2パケットの出力が時間軸上で並列となるように、ダブルバッファ構成からなる、
     請求項2に記載の通信装置。
  6.  前記パケットはIP(Internet Protocol)パケットであって、
     前記第1ヘッダ解析部及び前記第2ヘッダ解析部は、IPパケットのヘッダの所定位置に配置されるバージョン情報に応じて、当該ヘッダのパケット長を読み出す、
     請求項1に記載の通信装置。
  7.  外部装置からの入力データに対して、パケットの同期をとるためのパケット同期方法であって、
     所定量の第1入力データを検査符号とし、当該第1入力データより前の入力データを検査対象データとした検査を、単位データ量毎のデータ入力毎に行い、所望の検査結果を得ることにより検査符号を検出するステップと、
     前記検査符号が検出されたときの検査対象データの先頭位置が第1パケットのヘッダの先頭位置であると推定し、当該ヘッダから前記第1パケットのパケット長を読み出すステップと、
     前記検査符号が検出されたときの検査対象データの長さが、読み出された前記パケット長と一致するかを判定するステップと、
     検出された前記検査符号に続く入力データの先頭位置が、前記第1パケットに続く第2パケットのヘッダの先頭位置であると推定し、当該ヘッダから前記第2パケットのパケット長を読み出すステップと、
     を備えた、パケット同期方法。
  8.  前記第2パケットのヘッダの先頭位置からの入力データ長を、単位データ量毎のデータ入力毎に測定するステップと、
     前記第2パケットのヘッダの先頭位置からの入力データを処理対象データとして、当該処理対象データに対応する所定量の検査符号を、単位データ量毎のデータ入力毎に生成し、生成した検査符号が処理対象データに続く前記所定量の入力データと一致することをもって検査符号を検出するステップと、
     検査符号が検出されたときの前記処理対象データの長さが、測定された前記入力データ長と一致するかを判定するステップと、
     を備えた、請求項7記載のパケット同期方法。
  9.  第1通信装置と、当該第1通信装置からの入力データに対してパケットの同期をとる第2通信装置とを含む通信システムであって、
     第1通信装置は、パケットに検査符号を付加してから第2通信装置へデータを出力し、
     第2通信装置は、
      所定量の第1入力データを検査符号とし、当該第1入力データより前の入力データを検査対象データとした検査を、単位データ量毎のデータ入力毎に行い、所望の検査結果を得ることをもって検査符号を検出する第1検出部と、
      前記第1検出部により検査符号が検出されたときの検査対象データの先頭位置が第1パケットのヘッダの先頭位置であると推定し、当該ヘッダから前記第1パケットのパケット長を読み出す第1ヘッダ解析部と、
      前記第1検出部により検査符号が検出されたときの検査対象データの長さが、前記第1ヘッダ解析部により読み出されるパケット長、と一致するかを判定する第1判定部と、
      第1検出部により検出される検査符号に続く入力データの先頭位置が、前記第1パケットに続く第2パケットのヘッダの先頭位置であると推定し、当該ヘッダから前記第2パケットのパケット長を読み出す第2ヘッダ解析部と、
     を備えた、通信システム。
  10.  前記第2通信装置は、
      前記第2パケットのヘッダの先頭位置からの入力データ長を、単位データ量毎のデータ入力毎に測定する測定部と、
      前記第2パケットのヘッダの先頭位置からの入力データを処理対象データとして、当該処理対象データに対応する所定量の検査符号を、単位データ量毎のデータ入力毎に生成し、生成した検査符号が処理対象データに続く前記所定量の入力データと一致することをもって検査符号を検出する第2検出部と、
      前記第2検出部により検査符号が検出されたときの前記処理対象データの長さが、前記測定部により測定される入力データ長と一致するかを判定する第2判定部と、
     をさらに備えた、請求項9に記載の通信システム。
PCT/JP2009/001122 2009-03-12 2009-03-12 通信装置、パケット同期方法 WO2010103574A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
PCT/JP2009/001122 WO2010103574A1 (ja) 2009-03-12 2009-03-12 通信装置、パケット同期方法
EP09841406A EP2408139A1 (en) 2009-03-12 2009-03-12 Communication device and packet synchronization method
JP2011503562A JP5382109B2 (ja) 2009-03-12 2009-03-12 通信装置、パケット同期方法
CN200980157960.6A CN102349261B (zh) 2009-03-12 2009-03-12 通信装置、分组同步方法
US13/137,758 US8891558B2 (en) 2009-03-12 2011-09-09 Communication device, packet synchronization method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/001122 WO2010103574A1 (ja) 2009-03-12 2009-03-12 通信装置、パケット同期方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/137,758 Continuation US8891558B2 (en) 2009-03-12 2011-09-09 Communication device, packet synchronization method

Publications (1)

Publication Number Publication Date
WO2010103574A1 true WO2010103574A1 (ja) 2010-09-16

Family

ID=42727884

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/001122 WO2010103574A1 (ja) 2009-03-12 2009-03-12 通信装置、パケット同期方法

Country Status (5)

Country Link
US (1) US8891558B2 (ja)
EP (1) EP2408139A1 (ja)
JP (1) JP5382109B2 (ja)
CN (1) CN102349261B (ja)
WO (1) WO2010103574A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104519525A (zh) * 2013-09-30 2015-04-15 日月光半导体制造股份有限公司 压缩封包的发送装置与接收装置与其发送方法及接收方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10749641B2 (en) 2016-10-11 2020-08-18 Qualcomm Incorporated Media access control header and transport block formats
DE112018007296B4 (de) * 2018-04-25 2022-01-27 Mitsubishi Electric Corporation Informationsverarbeitungseinrichtung, Informationsverarbeitungsverfahren und Informationsverarbeitungsprogramm
US11831743B1 (en) * 2019-01-08 2023-11-28 Xilinx, Inc. Streaming architecture for packet parsing

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06252874A (ja) * 1993-03-01 1994-09-09 Nec Corp ワード同期検出回路
JP2007089161A (ja) * 2005-09-16 2007-04-05 Samsung Electronics Co Ltd デジタルビデオ放送システムにおける、セクションの検出及び信頼性情報の取得のための多重巡回冗長検査装置及び方法
JP2008227875A (ja) * 2007-03-13 2008-09-25 Sanyo Electric Co Ltd データ再生装置及びデータ再生方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6298387B1 (en) * 1996-07-12 2001-10-02 Philips Electronics North America Corp System for detecting a data packet in a bitstream by storing data from the bitstream in a buffer and comparing data at different locations in the buffer to predetermined data
EP1104961A1 (en) * 1999-12-03 2001-06-06 Hewlett-Packard Company, A Delaware Corporation Deferral of transmissions in wireless local area network
GB2371954B (en) * 2001-02-01 2003-02-19 3Com Corp Interface system for wireless node and network node
CA2366397A1 (en) * 2001-12-31 2003-06-30 Tropic Networks Inc. An interface for data transfer between integrated circuits
KR100981498B1 (ko) * 2006-01-18 2010-09-10 삼성전자주식회사 무선 통신 시스템에서 버스트 처리장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06252874A (ja) * 1993-03-01 1994-09-09 Nec Corp ワード同期検出回路
JP2007089161A (ja) * 2005-09-16 2007-04-05 Samsung Electronics Co Ltd デジタルビデオ放送システムにおける、セクションの検出及び信頼性情報の取得のための多重巡回冗長検査装置及び方法
JP2008227875A (ja) * 2007-03-13 2008-09-25 Sanyo Electric Co Ltd データ再生装置及びデータ再生方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104519525A (zh) * 2013-09-30 2015-04-15 日月光半导体制造股份有限公司 压缩封包的发送装置与接收装置与其发送方法及接收方法
CN104519525B (zh) * 2013-09-30 2018-02-06 日月光半导体制造股份有限公司 压缩封包的发送装置与接收装置与其发送方法及接收方法

Also Published As

Publication number Publication date
US20110317724A1 (en) 2011-12-29
US8891558B2 (en) 2014-11-18
JP5382109B2 (ja) 2014-01-08
CN102349261B (zh) 2014-06-04
CN102349261A (zh) 2012-02-08
EP2408139A1 (en) 2012-01-18
JPWO2010103574A1 (ja) 2012-09-10

Similar Documents

Publication Publication Date Title
US10541770B2 (en) Efficient recovery of lost packets using double parity forward error correction
JP4000905B2 (ja) 情報処理システムおよび方法、情報処理装置および方法、記録媒体、並びにプログラム
US8023460B2 (en) Radio base station and user common data transmission method
US8010863B2 (en) Method and apparatus for synchronizing multiple multimedia streams
CN109673021B (zh) 业务时延确定方法
JP2009253842A (ja) クロック同期システム
JP5382109B2 (ja) 通信装置、パケット同期方法
JP2007195185A (ja) 無線通信システムにおけるバースト処理装置及び方法
WO2019128287A1 (zh) 基于FlexE业务的信元交换方法及系统
JP7041255B2 (ja) 送信デバイス、受信デバイス、及びアップリンクデータ圧縮を処理するためにそれらにおいて実行される方法
US8615701B2 (en) Apparatus and method for indicating a packet error in an audio and video communication system
JP2007101457A (ja) 送信装置及び受信装置及び時刻通知方法及び時刻設定方法
JP5924880B2 (ja) データ通信システム、プリアンブル長最適化方法、及び通信装置
JP5201265B2 (ja) 無線通信装置およびデータ受信方法
JP5489252B2 (ja) eMBMS伝送のダウンリンク・データ同期を制御する方法および装置
EP3142277B1 (en) Fault tolerance method and apparatus for microwave transmission and computer readable storage medium
US10021587B2 (en) Congestion control in a transport network
JP5283496B2 (ja) Lan中継装置
JP2011249922A (ja) ネットワーク装置、tcpパケット受信装置及び方法
JP5756764B2 (ja) 無瞬断伝送装置
JP2015186087A (ja) 計測装置、制御装置、計測方法、制御方法
WO2016054911A1 (zh) 检测方法、发送端、接收端及检测系统
JP2012049883A (ja) 通信装置およびパケット処理方法
JP2667302B2 (ja) セル同期方法及びパケット通信装置
JP2003273915A (ja) シェーピング回路および方法

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200980157960.6

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09841406

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2009841406

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2011503562

Country of ref document: JP