[0001] 1. Field of the Invention
[0002] The present invention relates to data communication apparatus, system and method which are adopted in, e.g., a system to which plural electronic equipments are connected by a communication control bus capable of performing communication with mixture of control signals and data and in which data communication is performed among the plural equipments. Further, the present invention relates to a storage medium which computer-readably stores processing steps to perform the above method.
[0003] 2. Related Background Art
[0004] In recent years, there has been adopted a home bus system which connects various electronic equipments (simply called as equipments or nodes hereinafter) together in a home. In the home bus system, e.g., audio/visual (AV) equipments such as a TV equipment, a stereo and the like, kitchen equipments such as a refrigerator, a microwave oven and the like, and home equipments such as a water bath, an interphone and the like are connected and associated to others, and each equipment in the home can be controlled by information communication among these equipments.
[0005] On the other hand, there has been popularized a data communication system using a public line outdoors. Especially, a user can perform the data communication at any place (not limited to home or office) by a PIAFS (PHS Internet Access Forum Standard) communication developed on a wired ISDN line or a wireless PHS.
[0006] Further, the PHS has an extension mode and a public mode. In the home, the user can perform the communication without charge (function as digital cordless slave) by using the extension mode. On the other hand, the user can directly perform the communication to the public line (function as simple digital portable telephone) outdoors by using the public mode.
[0007] However, in the conventional system such as the above home bus system, the data communication is performed based on a specific protocol. Further, in the conventional ISDN communication and PIAFS communication, the data communication is performed respectively based on specific protocols. For this reason, it is very difficult to perform the data communication between, e.g., the equipments in the home and the outside equipments (PHS and the like).
[0008] As above, according to conventional technique, the equipments in the home, the equipments in the office and the outdoor equipments respectively have different protocols for data communication, whereby it is impossible to freely perform the data communication among all of these equipments.
[0009] An object of the invention is to eliminate at least one or all of the above-described conventional drawbacks.
[0010] That is, the object is to provide a data communication apparatus, a data communication system, a data communication method and a storage medium computer-readably storing processing steps to perform the data communication method, which can freely perform effective data communication even between equipments each existing different environment.
[0011] According to the above object, the first invention is to provide a data communication apparatus which performs data communication between a first equipment performing wireless data transmission and reception according to a first protocol and a second equipment performing data transmission and reception through a bus according to a second protocol, the apparatus comprising:
[0012] a conversion means for performing format conversion between data according to the first protocol and data according to the second protocol.
[0013] Another object of the invention is to be able to correspond to different protocols in a home network.
[0014] Still another object of the invention is to be able to correspond to different protocols in a wireless network.
[0015] Other objects of the invention will become apparent from the following description and the attached drawings.
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
[0056]
[0057]
[0058]
[0059]
[0060]
[0061]
[0062]
[0063] Hereinafter, the embodiments of the invention will be explained with reference to the attached drawings.
[0064] (First Embodiment)
[0065] The invention is adopted to, e.g., a network system
[0066] As shown in
[0067] The system
[0068] The portable video camera
[0069] The home station
[0070] Thus, later described in detail, the video data obtained by the camera
[0071] Further, for example, the video data reproduced by the VTR
[0072] The home station
[0073] Thus, later described in detail, the video data obtained by the VTR
[0074] As explained above, in this system
[0075] Further, since PIAFS protocol is used for the wireless data communication with the portable video camera
[0076] [Outline of 1394 Serial Bus]
[0077] With the development of home-use digital VTR and DVD (digital video disk), there is being required to support the transfer of data of a large amount such as video data or audio data (integrally called as AV data hereinafter) on real-time basis. For transferring such AV data on real-time basis, fetching such data into a PC (personal computer) or effecting transfer to other digital equipment, there is required an interface capable of high-speed data transfer with required transfer functions. For this purpose there has been developed the 1394 serial bus.
[0078]
[0079] The system contains plural digital equipment A, B, C, D, E, F, G and H, and a twisted pair cable of the 1394 serial bus is used for making connections A-B, A-C, B-D, D-E, C-F, C-G and C-H.
[0080] As examples of the digital equipment A to H, a PC, a digital VTR, a DVD player, a digital camera, a hard disk, a monitor and the like are provided.
[0081] The connections among the digital equipment are a mixture of daisy chain connection and node branched connection, and the connections can be with high flexibility. The digital equipment A to H are respectively given specific ID's, which are mutually recognized to constitute a single network within the range of connection by the 1394 serial buses.
[0082] For example, since the unified network can be constituted by merely connecting each of the digital equipment with a 1394 serial bus cable (daisy chain connection), each equipment performs the function of relaying, thereby constituting the single network.
[0083] Further, since the 1394 serial bus corresponds to a plug and play function (automated mechanism on the interruption signal and the setting of I/O port address), there is automatically executed the recognition of the equipment and the connection status thereof when the cable is connected to the equipment.
[0084] For this reason, in the network system as shown in
[0085] Also it has data transfer rates 100/200/400 Mbps, and an equipment having the higher transfer rate supports the lower transfer rate for achieving compatibility.
[0086] There are provided two data transfer modes, namely “isochronous transfer mode (ATM)” for transferring asynchronous data (hereinafter referred as async data) such as control signals, and “isochronous transfer mode” for transferring isochronous data (hereinafter referred as iso data) such as real-time AV data.
[0087] The async data and iso data are mixedly transferred within a predetermined communication cycle (usually 125 ps/cycle) after the transfer of a cycle start packet (CSP) indicating the start of a cycle and with priority given to the transfer of the iso data.
[0088]
[0089] As shown in
[0090] There are provided a cable for the 1394 serial bus, of which connector is connected to a 1394 connector port.
[0091] On the 1394 connector port, a hardware portion (or hardware) including a physical layer and a link layer
[0092] The hardware is substantially constituted by an interface chip, in which the physical layer executes controls related to the encoding and to the connector, while the link layer executes controls related to the packet transfer and the cycle time.
[0093] On the hardware, a firmware portion (or firmware) including a transaction layer and a management layer is positioned.
[0094] The transaction layer manages the data to be subjected to transfer (transaction), and issues commands such as read, write and lock. The management layer manages the connection status and ID of the connected equipment, thereby managing the configuration of the network.
[0095] These hardware and firmware practically constitute the 1394 serial bus.
[0096] On the firmware, a software portion (or software) including an application layer is positioned.
[0097] The application layer is variable depending on the software to be used, and defines how the data are to be transferred in the interface by a protocol such as AV protocol.
[0098]
[0099] Each equipment (node) connected to the 1394 serial bus is always given a 64-bit address specific to such node. Such address is stored in a memory of the node, so that the node address of own or another node can be always confirmed, and there can be executed communication designating the partner.
[0100] The addressing of the 1394 serial bus is based on the IEEE 1212 standard, and the initial 10 bits are used for designating the bus number, while the next 16 bits are used for designating the node ID number, and the remaining 48 bits are an address width given to the equipment, usable as a specific address space. The last 28 bits are used as a specific data area, for storing information for identifying each equipment or designating the condition of use.
[0101] The 1394 serial bus technique is principally constructed as explained in the foregoing.
[0102] In the following there will be given a more detailed explanation on the technique featuring the 1394 serial bus.
[0103] [Electric Specification of the 1394 Serial Bus]
[0104]
[0105] As shown in
[0106] The voltage of the DC power supplied from the power supply line is 8V to 40V, and the maximum DC current thereof is defined 1.5A.
[0107] [DS-Link Encoding]
[0108]
[0109] The DS-link encoding method employed therein is suitable for high-speed serial data communication, which requires two signal lines. One of the twisted pair signal lines is used for transmitting the main data and the other is used for transmitting strobe signal. Therefore, the receiving side can reproduce the clock signal by forming the exclusive logic sum (exclusive OR) of the communicated data and the strobe signal.
[0110] As above, the DS-link encoding method has various advantages such as a higher transfer efficiency in comparison with other serial data transfer methods, a smaller circuit magnitude of the controller LSI because the PLL (phase-locked loop) circuit can be dispensed with, and a lower electric power consumption by maintaining the transceiver circuit of each equipment in the sleep state because it is unnecessary to send information indicating the idle state in the absence of the data to be transferred.
[0111] [Bus Resetting Sequence]
[0112] In the 1394 serial bus, each connected equipment (node) is given a node ID and is recognized as a constituent of the network.
[0113] For example, when it becomes necessary to recognize the network configuration anew by a change in the network configuration, for example a change in the number of nodes by deletion or addition of a node or by an on/off operation of the power supply, each node detecting such change transmits a bus resetting signal on the bus, thereby entering a mode for recognizing the new network configuration.
[0114] The detection of the change is achieved by detecting a change in the bias voltage on the 1394 port board (shown in
[0115] Receiving the bus resetting signal from a node, the physical layer (
[0116] The bus resetting is activated by a hardware detection such as the insertion or extraction of a cable or an abnormality in the network, or by a direct command to the physical layer (
[0117] [Node ID Determination Sequence]
[0118] As described above, after the bus resetting, the nodes enter an operation of giving ID's thereto for constructing the new network configuration. The general sequence from the bus resetting to the node ID determination will be explained with reference to flow charts shown in
[0119] The flow chart in
[0120] In
[0121] When the parent-child relationship is determined among all the nodes in a step S
[0122] After the root determination in the step S
[0123] The node ID setting operation in the step S
[0124] When the step S
[0125] The flow chart in
[0126] Initially there will be explained the flow chart shown in
[0127] The step S
[0128] Then each equipment checks the number of nodes to which the port of the equipment is connected (step S
[0129] The number of ports checked in the step S
[0130] Immediately after the bus resetting, the declaration of the parent-child relationship can be started only from a leaf. Being a leaf can be known from the confirmation of the number of ports in the step S
[0131] In a node having two or more ports in the step S
[0132] The branch receiving the parent-child relationship declaration of the leaf in the step S
[0133] The declarations of the parent-child relationship is completed in the entire network when the number of the undefined ports checked in the step S
[0134] Thus, there is completed the procedure from the bus resetting to the declarations of the parent-child relationship among all the nodes in the network.
[0135] Subsequently, in giving ID to the nodes, the ID setting can be initiated from a leaf. The ID setting is executed in the order of leaves, then branches and root, and in the increasing order of the node number starting from 0.
[0136] That is, in
[0137] If the result of the step S
[0138] In a step S
[0139] On the other hand, the leaf having acquired ID transfers the ID information to all the nodes by broadcasting (communication from a node to unspecified plural nodes on the network) (step S
[0140] After then, if a step S
[0141] The ID setting for the branches is executed in a similar manner as in the case of leaves. At first it sets the number M (being a natural number) of the branches present in the network (step S
[0142] In response, the root executes an arbitration (step S
[0143] In a step S
[0144] On the other hand, the branch having acquired ID transfers the ID information to all the nodes by broadcasting (step S
[0145] If a step S
[0146] When the ID acquisition mode for the branches is terminated, in this state the root only has not acquired the ID information. Thus, the root sets the smallest ungiven number as its own ID number (step S
[0147] It should be noted that the ID setting processes for this root are executed even if the result in the step S
[0148] In the following there will be explained, as an example, the operations in an actual network shown in
[0149]
[0150] After bus resetting, there is executed the declaration of the parent-child relationship between the directly connected ports of the nodes, in order to recognize the connection status of the nodes. In the parent-child relationship, the parent side assumes a higher position and the child side assumes a lower position in the hierarchic structure.
[0151] After the bus resetting in the configuration of
[0152] Basically, the parent-child declaration can be started from a node having connection only at a port thereof (such node being called a leaf). Such node can identify that it has the connection at one port only and-can therefore known that it constitutes an end of the network, and the parent-child relationship is determined from a fast reacting one among such leaves. Thus the port of the side declaring the parent-child relationship (namely node A in the connection A-B) is set as a child, and the port of the partner (node B) is set as a parent. Thus in the connections A-B, E-D and F-D there are respectively determined a child and a parent.
[0153] Then the procedure shifts to an upper level, and the parent-child relationship declaration to an further higher level starting from the nodes, among those having port with plural connections (such node being called a branch), having received the parent-child declaration from other nodes.
[0154] In
[0155] The node C, having received the parent-child declaration from the node D, declares the parent-child relationship to the node B connected to another port, whereby the nodes C, B are respectively determined as a child and a parent in the connection C-B.
[0156] As a result the hierarchic structure shown in
[0157] There exists only one root within a network configuration. In the configuration shown in
[0158] After the determination of the root node, there is entered the mode of determining the node ID. Each of all the nodes informs all other nodes of the determined self ID (broadcasting function).
[0159] The self ID information contains the self node number, information on the connecting position, number of ports, number of connected ports, information on the parent-child relationship of each port, and the like.
[0160] The node ID assignment can be initiated from the nodes having connection only at a port (namely leaves), and the node numbers are assigned in the order of 0, 1, 2, among such leaves. The node having acquired the node ID transmits the information including the node number to other nodes by broadcasting. Thus such ID number is recognized as “already assigned”.
[0161] When all the leaves have acquired the self node ID's, ID numbers succeeding to those assigned to the leaves are then assigned to the branch nodes. As in the case of leaf, branches having acquired the node ID number broadcast the node ID information in succession, and the root node at last broadcasts the self ID information. Consequently the root node always has the largest node ID number.
[0162] In this manner the node ID assignment is completed for the entire hierarchic structure, whereby the network configuration is reconstructed and the bus initialization is completed.
[0163] [Bus Arbitration]
[0164] In the 1394 serial bus, an arbitration for the bus use right is always executed prior to the data transfer. The 1394 serial bus is a logic bus-type network in which the same signal is transmitted to all the equipment in the network by the relaying function of each connected equipment, the arbitration is indispensable for avoiding packet collision. Through such arbitration, only one node can execute transfer at a given time.
[0165]
[0166] In response, the parent node (node A in
[0167] Receiving the request for the bus use right, the root node determines the node by which the bus is to be used. The arbitrating operation is executed only by the root node, and the permission to use the bus is given to the winning node in the arbitration.
[0168] On the other hand, the node having won the arbitration and acquired the permission for using the bus can thereafter start the data transfer.
[0169] The flow of the arbitration will be explained with reference to flow charts shown in
[0170] In order that the node can initiate the data transfer, the bus has to be in the idle state. In order to recognize that the bus is currently empty after the completion of the preceding data transfer, there is predetermined an idle time gap length (for example subaction gap) for each transfer mode, and each node judges that it can start its transfer after the lapse of such time gap.
[0171] It discriminates whether a predetermined gap length is obtained corresponding to the data to be transferred such as the async data or iso data (step S
[0172] The predetermined gap length is obtained in the step S
[0173] If the step S
[0174] Then, if the root receives at least a request for the bus use right issued in the step S
[0175] If the step S
[0176] On the other hand, if the step S
[0177] Then, the root classifies, among the plural nodes having issued the request in the step S
[0178] The root sends a permission signal to the single node that has acquired the permission as the result of the arbitration or without the arbitration in case the node number=1 (step S
[0179] The root also sends, in a step S
[0180] [Asynchronous (Non-Sync) Transfer]
[0181]
[0182] When the bus use right is acquired in the arbitration, the data transfer is executed in a packet format. After the data transfer, the receiving node completes the transfer by returning an acknowledgment code “ack” indicating the result of reception or sending a response packet, after a short gap called “ack gap”. The “ack” code consists of 4-bit information and 4 check sum bits, including information indicating whether the transfer is successful or pending or the line is busy, and is immediately returned to the transmitting node.
[0183]
[0184] The asynchronous transfer is a one-to-one communication from the source node to the destination node. The packet transferred from the source node is delivered to all the nodes in the network, but is disregarded in the nodes different in address and is read by the only one node of the address.
[0185] [Isochronous (Sync) Transfer]
[0186] The isochronous transfer is a synchronized transfer. The isochronous transfer, constituting the most important feature of the 1394 serial bus, is particularly suitable for transfer of the data requiring real-time transfer, for example multi-media data such as video image data or audio data.
[0187] In contrast to the asynchronous transfer in the one-to-one form, the isochronous transfer is conducted from the transferring source node to all other nodes uniformly by the broadcasting function.
[0188]
[0189] As indicated by channels A, B and C in
[0190] The channel ID does not indicate the address of the destination but merely gives a logic number to the transferred data. Consequently any packet is transmitted by broadcasting from a source node to all other nodes.
[0191] Prior to the isochronous packet transfer, there is executed an arbitration as in the case of asynchronous transfer. However, in the isochronous transfer, which is not the one-to-one transfer, there is no acknowledgment code.
[0192] The isochronous gap (iso gap) shown in
[0193]
[0194] [Bus Cycle]
[0195] On the actual 1394 serial bus, the asynchronous transfer and the isochronous transfer can be present in mixed manner.
[0196] The isochronous transfer has the higher priority than the asynchronous transfer, because, after the cycle start packet, the isochronous transfer can be activated with a shorter gap length (isochronous gap) of the idle period than the gap length (subaction gap) required for activating the asynchronous transfer. Therefore the isochronous transfer is executed preferentially to the asynchronous transfer.
[0197] In a general bus cycle shown in
[0198] The sequence from the arbitration to the packet transfer is repeated for the number of assigned channels to complete the isochronous transfer in the cycle #m, and the asynchronous transfer is then enabled.
[0199] When the idle time reaches the subaction gap required for the asynchronous transfer, the node wishing the asynchronous transfer judges that it can enter the arbitration.
[0200] However, the asynchronous transfer is enabled only if the subaction gap required for activating the asynchronous transfer can be realized within the period from the end of the isochronous transfer to the time (cycle synch) for transferring the next cycle start packet.
[0201] The cycle #m shown in
[0202] However, if the time (cycle synch) for starting the next cycle is reached in the course of an isochronous or asynchronous transfer, such transfer is not interrupted but the cycle start packet of the next cycle is transmitted in the idle time after the end of such transfer. Thus, if a cycle continues in excess of 125 μs, the next cycle is made correspondingly shorter than 125 μs. In this manner the isochronous cycle can be made longer or shorter, taking 125 μs as the standard.
[0203] However, the isochronous transfer, if requested, is always executed in every cycle in order to maintain the real-time transfer, while the asynchronous transfer may be delayed to the next or subsequent cycle in case the cycle time is shortened. The cycle time, including information on such delay, is managed by the cycle master.
[0204] In the foregoing, there has been summarized the functions of the IEEE 1394 serial bus.
[0205] Subsequently, the outline of the PIAFS protocol will be explained.
[0206] [Outline of PIAFS Protocol Technique]
[0207] “PIAFS” represents PHS Internet Access Forum Standard which provides the transfer control procedure for realizing high-quality data transfer by using 32 Kbits/sec unrestricted digital bearer. The transfer control procedure (PIAFS procedure) will be explained with reference to
[0208] In
[0209] The PIAFS procedure between the high level protocol and the physical layer includes an in-band negotiation procedure and an ARQ transfer control procedure. The in-band negotiation procedure is the procedure in which end-to-end negotiation is performed before establishment of data link and one of plural data link protocols is selected in order to be able to cope with ulterior image transfer and future new transfer system. The ARQ transfer control procedure is the error control procedure corresponding to the layer 2 in the PHS communication phase.
[0210] Hereinafter, the PIAFS protocol will be explained in more detail.
[0211] [In-Band Negotiation Procedure]
[0212]
[0213] As shown in
[0214]
[0215] In
[0216] “DATA LENGTH” represents the data lengths of “SYNC” to “P
[0217] “SYNC” is used to establish frame sync (or frame synchronization). The detection condition is that all the bits are coincident (no error tolerance).
[0218] “NEGOTIATION CLASSIFICATION” is used to represent classification of “REQUEST” (negotiation request to partner station), “RECEPTION” (reception response to negotiation request) and “REFUSAL” (refusal response to negotiation request).
[0219] “P
[0220] “FCS” is used to detect a frame error in accordance with ITU-T Recommendation V4.2 CRC-32.
[0221] “OPTION” has such a structure as shown in
[0222] The negotiation procedure is as follows.
[0223] (1) The data link starting side (also called as control starting side) sets the usable protocols to the negotiation frames “P
[0224] If there is only one usable protocol, only “P
[0225] (2) The data link started side (i.e., side to which data link is started) (also called as control started side) selects only one usable protocol in the requested priority order, from the usable protocols indicated by the reception frame “P
[0226] (3) The control started side sets the protocol selected in the above procedure (2) to “P
[0227] At this time, if the protocol (i.e., selected protocol) set to “P
[0228] (4) If the “RECEPTION” setting frame is received from the partner station, the control starting side stops a waiting timer for “RECEPTION”, selects the protocol indicated by the reception frame “P
[0229] (5) If the control started side does not have the usable protocol indicated by the reception frame “P
[0230] If the control starting side receives the “REFUSAL” setting frame, it stops the “RECEPTION” waiting timer and releases the physical link.
[0231] (6) If competition occurs in the negotiation, i.e., if both sides are the control starting sides and the protocols resulted from the negotiation are incoincident, it can be recognized that these sides become incoincident with each other. Thus, the data link is not started, but the negotiation is again started.
[0232] [ARQ Transfer Control Procedure]
[0233]
[0234]
[0235] In these drawings, “FI” is used to discriminate whether there is the negotiation frame, the negotiation frame including the sync function, the sync frame, the control frame or the data frame.
[0236] “FFI” is “Feed Forward Information” and represents the frame number in the ARQ transfer control.
[0237] “FBI” is “Feed Back Information” and represents the request frame number in the ARQ transfer control.
[0238] “CONTINUOUS FRAME DISCRIMINATION BIT” represents whether continuous frame exists in the control frame and the data frame.
[0239] “DATA LENGTH” represents the range from the true data length to “FCS” in which available data exists, in the unit of bytes. “DATA LENGTH” in the sync request or the sync reception is “8”, and “DATA LENGTH” in the sync refusal is “9”. Further, “DATA LENGTH” in the control frame (continuous frame) represents the control information field for each frame.
[0240] “SYNC” is used to establish frame sync. The detection condition is that all the bits are coincident (no error tolerance).
[0241] “CONTROL INFORMATION” is transferred by the control frame. In the transfer system, every time the control frame is transmitted, reception confirmation of the frame is expected by the control frame reception side.
[0242] “FCS” is used to detect the frame error in accordance with ITU-T Recommendation V4.2 CRC-32.
[0243] The area next to “SYNC” accords to the structure shown in
[0244] “COMMON ORDER NUMBER” represents the numbers independently counted by the control starting side and the control started side. Every time the “SYNC REQUEST”, “SYNC RECEPTION” and “SYNC REFUSAL” setting frames are sent, the number is increased one by one from sending start of “SYNC REQUEST”. Then if the result of increment exceeds “255”, the number is returned to “1” and then the increment restarts. Such “COMMON ORDER NUMBER” is used for the RTF measurement, and its initial value is “1”.
[0245] “SAME ORDER NUMBER” represents the number incremented one by one from sending start of “SYNC RECEPTION” and “SYNC REFUSAL”. If the result of increment exceeds “255”, the number is returned to “1” and then the increment restarts. Such “SAME ORDER NUMBER” is used for the RTF measurement, and its initial value is “1”. However, “SAME ORDER NUMBER” for “SYNC REQUEST” is fixed to be “1”.
[0246] “CONFIRMATION RESPONSE NUMBER” is to set “COMMON ORDER NUMBER” of the initially received “SYNC REQUEST” setting frame. Such setting is performed when “SYNC RECEPTION” or “SYNC REFUSAL” is set to send this frame. Such “CONFIRMATION RESPONSE NUMBER” is also used for the RTF measurement, and “CONFIRMATION RESPONSE NUMBER” in “SYNC REQUEST” is fixed to be “1”.
[0247] “SYNC REFUSAL REASON DISPLAY” is to set predetermined information at the “SYNC REFUSAL” setting frame sending when response is impossible for some reasons although “SYNC REQUEST” has been received.
[0248] The sync frame, the control frame and the data frame including the above areas are sequentially sent from most significant bit (MSB) toward least significant bit (LSB).
[0249]
[0250] In
[0251] “SEQUENCE NUMBER” represents by the modulo
[0252] “CONTROL INFORMATION CONTENT IDENTIFIER” is to discriminate the contents of the information indicated by the modulo 3 or lower. In this area, the discrimination information such as the control information (communication parameter setting) concerning data link establishment, the in-communication control information (ARQ parameter setting), the control information (data link release) concerning data link release, and other control information (user control information) are stored.
[0253]
[0254] The messages of communication parameters are to set the communication parameter in the above transfer system, and initially sent from the control starting side when the communication by the ARQ transfer control starts.
[0255] In
[0256] The octet
[0257] The octet
[0258] The octet
[0259] The octet
[0260] The octet
[0261] The octet
[0262] The octet
[0263] The octet
[0264]
[0265] The in-communication control information is used to measure the RTF at the control starting side every time the ARQ sync starts and to notify the measured RTF after the ARQ sync completion from the control starting side to the started side, during the data communication by the ARQ transfer control.
[0266]
[0267] In
[0268]
[0269] The information is to transmit the user information. The contents of the information field is not at all restricted, and the user information can be freely used by the user. However, if the request of incomprehensible user information is received, the refusal with the setting impossible reason is sent. Even if the notification of incomprehensible user information is received, it is necessary to send the response to such the notification.
[0270]
[0271] In the frame of which “control information classification” has been set with “request” or “notification”, the information is to enable the continuous frame transmission to the control frame transmission side.
[0272] The operation sequence of the ARQ transfer control by the sync frame, the control frame and the data frame is as follows.
[0273] (1) Link Establishment
[0274] <Control Starting Side>
[0275] In this sequence, if there is the communication request from the high-level module, the negotiation frame (negotiation classification: request, sync function existing, sync request) is initially sent so as to establish the ARQ frame sync. After then, a sync reception waiting timer is started, to detect the negotiation frame (negotiation classification: reception, sync function existing, sync reception) from the partner. In case of time-out, failure of the transmission request is notified to the high-level module. If the negotiation frame (negotiation classification: reception, sync function existing, sync reception) from the partner is detected, it is considered that the sync is given. Thus, the sync reception waiting timer is stopped, initial setting to an internal parameter or the like is performed, and the negotiation of the communication parameter is performed. The link establishment is completed at normal completion of the negotiation, the communication request establishment is notified to the high-level module, and it enters into the in-communication state. If the negotiation of the communication parameter is not normally completed due to parameter incoincidence or the like, the communication request failure is notified to the high-level module.
[0276] <Control Started Side>
[0277] If the negotiation frame (negotiation classification: request, sync function existing, sync request) from the control starting side is detected, the negotiation frame (negotiation classification: reception, sync function existing, sync reception) is sent. After then, the sync reception after-transmission timer is started to detect the control frame (request) from the partner. In case of time-out, the sync establishment failure is notified to the high-level module. If the control frame (request) from the partner is detected, it is considered that the sync is given. Thus, the sync reception after-transmission timer is stopped, initial setting to an internal parameter or the like is performed, and the negotiation of the communication parameter is performed. The link establishment is completed at normal completion of the negotiation, the sync establishment is notified to the high-level module, and it enters into the in-communication state. If the negotiation of the communication parameter is not normally completed due to parameter incoincidence or the like, the sync establishment failure is notified to the high-level module.
[0278] (2) Link Release
[0279] <Control Starting Side>
[0280] In this sequence, if there is the release request from the high-level module or the internal release request, the control frame (data link release) is initially sent so as to request the link release. After then, a confirmation waiting timer is started to detect the response confirmation frame from the partner. In case of time-out, it is considered that the link is released. Thus, the link release is notified to the high-level module, and the communication ends. If the response confirmation frame from the partner is detected, it is considered that the link is released. Thus, the confirmation waiting timer is stopped, the link release is notified to the high-level module, and the communication ends.
[0281] <Control Started Side>
[0282] If the link release is possible, the side which received the control frame for requesting the link release continuously sends the response confirmation frame to the control frame “K” times. Then the control started side notifies the link release to the high-level module, and the communication ends.
[0283] (3) Frame Sync and RTF Measurement Method
[0284] When the initial sync/re-sync sequence starts, the control starting side sends the sync request. The control started side is in the state for waiting the sync request, and transmits the sync reception to the control starting side after receiving the frame. If the response is impossible for some reasons although the sync request is received, the sync refusal as well as the sync refusal reason display is transmitted. The sync frame is detected on condition that “SYNC coincident”, “FI confirmation” and “CRC no error” are satisfied. The sync sequence is started on condition that (a) data link start time, (b) ARQ reception frame continuous FCS error detection time, and (c) the sync frame reception time during transmission of the control frame or the data frame are satisfied. Further, if a terminal station apparatus can monitor the state of a mobile station (PS), it is possible to start the sync sequence when the information channel (TCH) is switched and the hand-off ends.
[0285] (3-1) Initial Sync Sequence
[0286] For the initial sync of the ARQ frame, the negotiation frame (including sync frame function) is used.
[0287] <Step 1>
[0288] The control starting side sends the negotiation frame (negotiation classification: request, sync function existing, sync request) and also starts the sync reception waiting timer. Then “COMMON ORDER NUMBER” in the option area is incremented one by one from the negotiation frame (negotiation classification: request, sync function existing, sync request) sending start time. In the negotiation frame (negotiation classification: request, sync function existing, sync request), “SAME ORDER NUMBER” and “CONFIRMATION RESPONSE NUMBER” in the option area are fixed to “1”.
[0289] <Step 2>
[0290] If the control started side receives the negotiation frame (negotiation classification: request, sync function existing, sync request), it sends the negotiation frame (negotiation classification: reception, sync function existing, sync reception) and also starts the sync reception after-sending timer. Then “COMMON ORDER NUMBER” and “SAME ORDER NUMBER” in the option area are incremented one by one from the negotiation frame (negotiation classification: request, sync function existing, sync reception) sending start time. In the negotiation frame (negotiation classification: reception, sync function existing, sync reception), “COMMON ORDER NUMBER” in the option area added to the negotiation frame (negotiation classification: request, sync function existing, sync request) from the control starting side and initially received at the control started side is copied and written into “CONFIRMATION RESPONSE NUMBER” in the option area.
[0291] <Step 3>
[0292] If the control starting side receives the negotiation frame (negotiation classification: reception, sync function existing, sync reception), the ARQ sync is given, and the control starting side stops the sync reception waiting timer. At the same time, it is possible to measure the RTF, and the communication parameter is negotiated.
[0293] <Step 4>
[0294] If the control frame (request) from the partner is detected, the control started side considers that the sync is given, and thus stops the sync reception after-sending timer, whereby the communication parameter is negotiated.
[0295] <Step 5>
[0296] In case of time-out of the sync reception waiting timer or the sync reception after-sending timer, the ARQ sync establishment fails, and the high-level module is notified of the data link establishment failure.
[0297] <Step 6>
[0298] If competition of the data links occurs, the process from the partner starting side is preceded. Namely, if the sync request from the partner is received during the sync request transmission, transmission of own sync request is stopped, and the process to the sync request from the partner starting side is performed.
[0299] (3-2) Re-Sync Sequence
[0300] As described above, during the communication, (b) when the ARQ reception frame continuous FCS error detection is performed, (c) when the sync frame is received during the transmission of the control frame or the data frame, or when the information channel (TCH) is switched and the hand-off ends while the terminal station apparatus can monitor the state of the movable station (PS) by the terminal station apparatus, the re-sync is performed. The sync frame is used for the ARQ frame re-sync.
[0301] Initially, the control starting side establishes the ARQ sync according to the following.
[0302] <Step 1>
[0303] The control starting side sends the sync frame (sync request) and also starts the sync reception waiting timer to detect the sync frame (sync reception) from the partner. Then “COMMON ORDER NUMBER” is incremented one by one from the sync frame (sync request) sending start time. In the sync request, “SAME ORDER NUMBER” and “CONFIRMATION RESPONSE NUMBER” are fixed to “11”.
[0304] <Step 2>
[0305] If the control started side receives the sync frame (sync request), the ARQ sync is established, and the sync reception waiting timer is stopped. At the same time, it becomes possible to measure the RTF, and thus the ARQ parameter is negotiated.
[0306] <Step 3>
[0307] In case of time-out of the sync reception timer, the ARQ sync establishment fails, whereby the sync establishment failure is notified to the high-level module.
[0308] On the other hand, the control started side establishes the ARQ sync according to the following.
[0309] <Step 1>
[0310] As described above, (b) when the ARQ reception frame continuous FCS error detection is performed, and (c) when the sync frame is received during the transmission of the control frame or the data frame, the sync request waiting timer is started to wait the sync frame from the partner station.
[0311] <Step 2>
[0312] If the sync frame (sync request) is received from the partner station, the sync request waiting timer is stopped. At the same time, the sync reception after-sending timer is started, and the sync frame (sync reception) is sent. Then “COMMON ORDER NUMBER” and “SAME ORDER NUMBER” are respectively incremented one by one from the sync frame (sync reception) sending start time. Further, “COMMON ORDER NUMBER” added to the sync frame (sync request) from the control starting side and initially received at the control started side is copied and written into “CONFIRMATION RESPONSE NUMBER”.
[0313] <Step 3>
[0314] If the control frame (request) from the partner station is detected, it is considered that the sync can be given. Thus, the sync reception after-sending timer is stopped, and the ARQ parameter is negotiated.
[0315] <Step 4>
[0316] In case of time-out of each timer, the ARQ sync establishment fails, and the sync establishment failure is notified to the high-level module.
[0317] If both the stations operate as the control starting side, it is possible to occur the competition of the sync frame (sync request) even at the ARQ frame re-sync starting time. Even in this case, the process from the partner starting side is preceded. That is, if the sync request is received from the partner during the sync request transmission, the transfer of own sync request is stopped, and the process for the sync request from the partner starting side is performed.
[0318] (3-3) RTF Measurement Method
[0319] The RTF value is the parameter for defining an frame interval until the re-sending is performed. That is, a response delay time is measured every call connection, and the measured value is set as the RTF value. The RTF value is measured at the control starting side, and then notified to the control started side with the control frame after the sync is established. The control started side measures the RTF value according to the following.
[0320] <Step 1>
[0321] At the time when the sync reception from the control started side is received, following values are detected.
[0322] (α) “COMMON ORDER NUMBER” added to currently sent sync request/sync reception
[0323] (β) “SAME ORDER NUMBER” attached to the sync reception from the partner station
[0324] (γ) “CONFIRMATION RESPONSE NUMBER” attached to the sync reception from the partner station
[0325] <Step 2>
[0326] The RTF value is calculated and set by the following equation.
[0327] In the equation, the constant N is assumed as “2” in this case.
[0328] <Step 3>
[0329] If “RTF−N≦2” and “60≦RTF−N”, the data link release sequence starts.
[0330] <Step 4>
[0331] The RTF value calculated (or measured) in the step 2 is notified to the control started side by the control frame.
[0332] (3-4) ARQ Frame Refusal Sequence
[0333] In the case where the sync request has been received, if the response is impossible for some reasons, the sync refusal (refusal reason) is set at “REASON DISPLAY” instead of the sync reception, and the set reason is continuously transmitted L times. In order to simplify the process of the ARQ sync process unit, the processes same as those in the sync reception are performed for “COMMON ORDER NUMBER”, “SAME ORDER NUMBER” and “CONFIRMATION RESPONSE NUMBER”. It is assumed that the value of “L” is “20”.
[0334] If the control starting side received such the sync refusal frame, it stops the sync request transmission and the sync reception waiting timer. Then the data link establishment failure is notified to the high-level module.
[0335] (4) Control Signal System
[0336] (4-1) Control Information Transfer System
[0337] The control information sent from the control starting side is “request” and “notification”. If “REQUEST” is permitted, “reception” is issued as the reception confirmation. On the other hand, if “request is not permitted, “refusal” is issued as the reception confirmation. Further, the reception confirmation “response” is corresponding to “notification”. The control information transfer system in this case is the system in which the control frame reception confirmation of the reception/response/refusal/continuous frame transmittable (hereinafter called as confirmation frame) from the control started side is expected as the response every time the request/notification control frame is sent from the control starting side.
[0338] If the control frame sending is requested, the control starting side preferentially sends the control frame even if there is the data to be sent. Then the control starting side repeatedly sends the control frame of the identical contents until the confirmation frame is received. In case of continuously sending the control frame, the control starting side waits the reception of the confirmation frame and then sends the next control frame.
[0339] In order to discriminate the control frames continuously sent, the sequence number is provided for the control information. Therefore, the control started side returns to the control starting side the sequence number attached to the control information sent from the control starting side, so that the control starting side can discriminate which control frame the confirmation frame corresponds to. The number of modulo of the sequence number at this time is assumed as “16”, and the sequence number is independent in end-to-end state. The initial value of the sequence number at the starting time is “0”.
[0340] The control starting side receives the confirmation frame and then sends the data frame if there is no control information to be continuously sent. The control started side can confirm that the confirmation frame has reached the partner, by receiving the control frame of the incremented sequence number or receiving the data frame. Until that time, the control started side continues to send the confirmation frame even if there is the data to be sent.
[0341]
[0342] As shown in
[0343] Subsequently, the control starting side receives the reception (0) (step S
[0344] Subsequently, since the control started side can confirm that the reception (1) has been sent in the step S
[0345] If the control frame competition with the partner occurs, the control frame from the partner is preceded. That is, if the control frame “request” or notification” is received while own side is transmitting the control frame, the own side stops sending the control frame and performs the control process to the frame “request” or “notification”. Then the own side returns the confirmation frame.
[0346] If the ARQ re-sync process is started during the transfer of the control frame, the control frame is transferred after the ARQ re-sync is completed. In this case, the control information and the sequence number transmitted before the ARQ sync process are stored.
[0347] Further, if the competition of the control frame occurs during the continuous frame transmission, the same process as above is performed.
[0348]
[0349] In
[0350] In this case, the “control information” may extend over the plural control frames. If so, the fact that the continuous frames exist is indicated by “continuous frame discrimination bit”. As the process to “request” (continuous frame existing), there are the following two cases.
[0351] In the first case, as shown in
[0352] In the second case, as shown in
[0353] To “reception”, the contents of the significant information of “request” are copied and returned. However, it is possible that the response is sent to “reception” even if the partial parameter is not permitted. Such a fact is shown as the reception result at the final octet of “reception”.
[0354] For example,
[0355] The final octets in “request”, “notification”, “response” and “continuous frame transmittable” are all assumed as “1”.
[0356] The confirmation frame waiting timer is 10 seconds equally for the request and notification frames. In case of time-out of this timer, the data link is released. If the ARQ re-sync process is started during the control frame transfer, this timer is reset (i.e., once stopped and the started again).
[0357] Hereafter, if the control information contents in the control frame are added and thus the control information impossible to be recognized by the own station is received, the contents of this control information are not considered as the significant information and thus discarded. However, even if all the significant information are settable, the result of the reception is made partially settable. This process is the same as that for “REQUEST” (continuous frame existing). At the time when the control started side discriminates that there is no significant information in the continuous frame, it executes the process to the request.
[0358] (4-2) Communication Parameter Negotiation
[0359] In order to set the communication parameter usable on both the control starting side and the control started side, the parameter in “communication parameter setting” or “ARQ parameter setting” is transferred by the control frame, and subjected to end-to-end negotiation. If the negotiation fails, the data link is released because the connection is impossible. In the communication parameter setting, the negotiation possible parameters are “ARQ data transfer protocol version”, “ARQ control information transfer protocol version”, “measured RTF value”, “data compression system identifier”, “total number of codes (P
[0360]
[0361] If the negotiation competition occurs, the control starting side previously stores the parameters request by itself. After then, at the time when the communication parameter is received from the partner, the received parameter and the parameter sent to the partner by itself are compared with each other according to the negotiation rule, so as to select (or set) the low-level parameter. In
[0362] (5) Data Frame Retransmission Control System
[0363] (5-1) Process at Data Transmission Side (FFI Determination Process)
[0364] For the error control in the data frame, an SR (selective repeat type) ARQ for retransmitting only the error frame is used. The flow control is absorbed by the ARQ data frame process unit.
[0365] If the continuous frame error is detected equal to or larger than the defined times, the ARQ re-sync process starts. Further, in order to effectively realize transmission number feedback type SR ARQ in the limited buffer, the last one byte of “user data area” in the data frame is used to manage the modulo. “FFI” represents frame numbers “1 to M”, and “FBI” represents request frame numbers “1 to M”.
[0366] (5-2) Process at Data Transmission Side
[0367] The increment is started from the currently requested frame (represented by “FBI”) and repeated maximumly up to the outstanding frame. However, if there is the data of M (maximum frame number) frames to be transmitted does not exist, only the frames in which the data exist are transmitted.
[0368] During the above repetition, the frame requested by “FBI” is transmitted. However, “FBI” in “RTF” is ignored. The RTF value is measured at the same time when the ARQ frame sync is established.
[0369] If there is no data to be sent, the frame in which “FFI=0” and “data length=0” is sent.
[0370] The outstanding frame is the frame which can be transmitted without waiting the transmission confirmation from the reception side, and the upper limit of this frame is called as the maximum outstanding frame. It is satisfied the relation that “the number of maximum outstanding frames (M)”=“the number of modulo−1”.
[0371] (5-3) Process at Data Reception Side (FBI Determination Process)
[0372] The error frame in “FCS” is discarded.
[0373] The oldest not-received frame number is written into the feedback information (FBI) as the request frame.
[0374] If there is the flow control request due to the DTE reception process delay, update of the request frame number is not performed. The contents of “FBI” are not changed until a buffer-full state is released, whereby the advance of the ARQ protocol is suppressed.
[0375] Among the reception data frames, the frame of “FFI=0” and the frame discriminated as the same frame by the reception comparison are discarded without “FBI”.
[0376]
[0377] As shown in
[0378]
[0379] If the frame (#1, 4) is the oldest frame of which transmission confirmation is not yet given, the transmission side sequentially sends the frames (#1, 5), (#1, 6), . . . , (#1, M), (#2, 1), (#2, 3), . . . . Then af