Data transmission system and method

Abstract: The data transmission method employs IEEE P1394 protocol. The data header of the transmitted isochronous packet is added with a node identifier identifying the transmitter node, so that the receiver node can immediately identify the transmitter node, and can thereby request the transmitter node to maintain transmission. A Broadcast channel is a default channel used for isochronous packet transmission, unless a different channel number is otherwise specified. Thus, it is not necessary for the user to coordinate the channel number used by the transmitting and receiver nodes. It is also not necessary for the transmitter node to notify the receiver node, or the receiver node to notify the transmitter node, of the channel number used.

Description: BACKGROUND OF THE INVENTION 1. Field of the invention The present invention relates to a system for transmitting audio signals and/or video signals as a digital signal in such applications as a digital video cassette recorder (VCR) whereby audio signals and/or video signals are recorded and reproduced as digital signals, and also to a method thereof. 2. Description of the prior art Devices for transmitting audio signals and/or video signals via a digital signal transmission path are being continually developed. Transmitting audio signals and/or video signals as a digital signal, however, requires sending and receiving to be synchronized to the processing speed of the apparatus, and therefore requires a transmission path capable of isochronous transmission. A bus connection is even more preferable considering the potential need for two-way communications on a single transmission path whereby plural devices can receive a signal transmitted from a single device. The Institute of Electrical and Electronic Engineers, Inc. (IEEE) is currently studying a next-generation high speed serial bus protocol under the title P1394 (see "High Performance Serial Bus"). Under the proposed IEEE P1394 standard, isochronous transmission data, including audio signals, video signals, and other real-time data, can be transmitted by isochronous transmission using isochronous packets, which are sent and received every 125 µsec (= 1 cycle) to achieve isochronous transmission. The isochronous transmission control method of IEEE P1394 is described next. When the bus is initialized according to IEEE P1394, a node identifier is automatically assigned to each device connected to the bus (each 'node') as a means of identifying each node. A maximum 64 isochronous packets per cycle can also be sent over the bus. As a result, each isochronous packet is also assigned a channel number ranging in value from 0 to 63 to identify each isochronous packet. To achieve isochronous transmission on plural channels, one of the plural nodes connected to the bus is used for isochronous transmission management; this node is called the "bus manager" below. The bus manager manages the channel numbers used for isochronous transmission, and the time remaining in each cycle usable for isochronous transmission. The time sharing rate, or the time slot width, required for each node to transmit an isochronous packet in one cycle is referred to as a bandwidth below. To achieve isochronous transmission, the bus manager must reserve the channel number and the bandwidth to be used. It should be noted that communications not essential to isochronous transmission and information that does not require isochronous transmission are transmitted by asynchronous transmission using asynchronous packets. Asynchronous communication is accomplished using cycle time not used for isochronous transmission. The bus is also immediately reinitialized whenever a node is connected or disconnected from the bus, or whenever any node on the bus is turned off, to enable active bus configuration. The first problem addressed by the present invention is described next. When the IEEE P1394 high performance serial bus is applied to isochronous transmission between consumer audiovisual (A/V) devices using the conventional isochronous packet described above, it is not possible for the node receiving the isochronous packet to identify the node sending that isochronous packet. Because of this node identification problem, the node receiving the isochronous packet cannot request the node sending the isochronous packet to continue isochronous packet transmission when it is necessary to prevent interruption of isochronous transmission due to an unexpected user action, and it is therefore not possible to set the transmission node to a protected state. This is described below referring to a system comprising nodes A, B, and C with node B assumed to be receiving and recording the isochronous packet sent by node A. If the user then performs some action causing node C to transmit an isochronous packet, node C must request node A to stop transmitting the isochronous packet. If node A responds to this request by stopping transmission, the recording operation of node B will be interrupted. It is therefore possible by this conventional data transmission method to interrupt the transmission of isochronous packets between communicating nodes when one node not associated with that isochronous packet transmission is accidentally or improperly operated. The second problem is described next. As described above, the IEEE P1394 protocol enables plural channels of real-time data to be output during one cycle. It is therefore necessary for the receiver node(s) to determine the channel numbers of the real-time data that should be received by that node. One method of enabling the receiver node to determine the channel numbers to be received is for the user to inform the receiver node of the channel numbers to be received. To do this, however, the user must determine and inform the receiver node of the channel numbers of the real-time data that should be received, and this increases the burden on the user. SUMMARY OF THE INVENTION In order to solve the above mentioned objects a data transmission method for communicating real-time data packets over a bus, the communication being carried out by a first node and succeedingly by a second node, contains according to the present invention the steps of detecting, by the second node, data packets produced by the first node to identify the first node; sending a "stop output request" signal from the second node to the first node; detecting, by the first node, the "stop output request" signal; stopping, by the first node, a current communication through a broadcast channel of a plurality of channels when the "stop output request" signal is accepted by the first node; and starting, by the second node, a succeeding communication through the broadcast channel. The objects of the present inventions are also solved by a data transmission apparatus as claimed in claim 1 in a data transmission system for communicating real-time data packets over a bus, said communication being carried out by a first node and succeedingly by a second node, said data transmission system according to the present invention comprising: first means for detecting by the second node data packets produced by the first node to identify said first node; means for sending a "stop output request" signal from said second node to said first node; second means for detecting said "stop output request" signal sent by said sending means, said second means being provided in said first node; means for stopping said communication through a broadcast channel of a plurality of channels when said "stop output request" signal sent by said sending means is accepted by said first node; and means for starting a succeeding communication of data through said broadcast channel, said starting means being provided in said second node. BRIEF DESCRIPTION OF THE DRAWINGS The present invention will become more fully understood from the detailed description given below and the accompanying diagrams wherein: Fig. 1 is a block diagram of plural audio/visual devices connected to a bus according to the IEEE P1394 protocol; Fig. 2 is a block diagram of the internal configuration of each audio/visual device shown in Fig. 1; Fig. 3 shows the isochronous packet format defined by IEEE P1394; Fig. 4 shows the format of the packet header of the isochronous packet defined by IEEE P1394; Fig. 5 shows the asynchronous packet format defined by IEEE P1394; Fig. 6 shows the format of the packet header of the asynchronous packet defined by IEEE P1394; Fig. 7 shows the isochronous packet format; Fig. 8 is a block diagram of a VCR connection; Fig. 9 is a block diagram of the control block in the first and second embodiments of the present invention; Fig. 10 shows the format of the data block in the isochronous packet according to the first and second embodiments of the present invention; Fig. 11 is a flow chart of the communications management block when transmission is started by the first embodiment of the invention; Fig. 12 is a flow chart of the communications management block when transmission is stopped by the first embodiment of the invention; Fig. 13 is a flow chart of the communications management block when transmission is started by the second embodiment of the invention; Fig. 14 is a flow chart of the communications management block when transmission is stopped by the second embodiment of the invention; DESCRIPTION OF PREFERRED EMBODIMENTS The present invention relates to a transmission procedure for transmitting real-time data such as audio/visual data using the P1394 protocol currently being considered by the Institute of Electrical and Electronic Engineers, Inc. Fig. 1 shows a plurality of audio/visual devices connected to a bus according to the IEEE P1394 protocol. In this example, four audio/visual devices are connected to a common bus, and the devices are referred to as nodes. A/V devices 101, 102, 103, and 104 are connected by a cable 105 which serves as a bus structure. The A/V devices 101 - 104 have a similar control arrangement which is shown in Fig. 2 by way of example for A/V device 102. Each A/V device comprises an interface block 201, an A/V signal processing block 202, and a control block 203. Signals from the other nodes are input to one A/V device 102 through the interface block 201. In the interface block 201, the input signals have their waveform shaped, and the waveform-shaped signals are output to the next A/V device 103. The interface block 201 is capable of transmitting the output signals from any other A/V device, i.e., any other node when connected according to the IEEE P1394 protocol as shown in Fig. 1, to all other A/V devices (nodes). In the IEEE P1394 protocol, real-time data is transmitted using isochronous packets, the format of which is shown in Fig. 3 as defined by IEEE P1394. Each isochronous packet comprises a 4-byte packet header 301; a 4-byte header CRC 302 for checking for transmission errors in the packet header 301; a data block 303; and a 4-byte data CRC 304 for checking for transmission errors in the real-time data. The format of the packet header 301 is shown in Fig. 4. As shown in Fig. 4, the packet header 301 includes the channel number 401. According to the IEEE P1394 protocol, plural A/V devices (nodes) can transmit plural isochronous packets on a time-share basis approximately every 125 µsec (= 1 cycle). The channel number 401 is added to the isochronous packets for identifying each packet transmitted during the same cycle. When transmitting real-time data, the control block 203 instructs the A/V signal processing block 202 to output the real-time data, including the audio/visual data. Based on the instructions from the control block 203, the A/V signal processing block 202 therefore outputs the real-time data. The control block 203 also adds the channel number used and other information, and controls isochronous packet output to the interface block 201. Based on the instructions from the control block 203, the interface block 201 packetizes the real-time data from the A/V signal processing block 202 as the data block 303 shown in Fig. 3 according to the packet format also shown in Fig. 3. The interface block 201 then outputs the isochronous packet to the other nodes (A/V devices). When receiving real-time data, the control block 203 informs the interface block 201 of the channel number of the isochronous packets to be received. The interface block 201 then detects the channel number of each isochronous packet from the packet header. If the detected channel number is the specified channel number, the interface block 201 outputs to the A/V signal processing block 202 the real-time data contained in the data block 303 from the isochronous packet shown in Fig. 3. The control block 203 also controls input of the real-time data to the A/V signal processing block 202, which signal processes the input data. It is therefore possible for plural nodes to transmit plural isochronous packets during the same cycle by the IEEE P1394 protocol as described above, i.e., plural isochronous transmission between plural nodes can be accomplished in an apparently simultaneous manner. It is necessary, however, to reserve sufficient bandwidth for the internal processing speed of each node with each isochronous transmission. Here, the bandwidth means a width of a reserved time slot in each cycle of 125 µsec, and various time slots in each cycle are distinguished by different channel numbers. According to the IEEE P1394 protocol, it is possible to use, at the maximum, 64 different channel numbers, from 0 to 63. Because the maximum transmittable bandwidth is limited (obviously less than 125 µsec), it is necessary to manage the bandwidth used by each node. In addition, a channel number is added to each isochronous packet to identify each isochronous packet and thereby enable isochronous transmission of data on plural channels. Managing the channel numbers used by each node is necessary to prevent the same channel number from being assigned to packets on different channels when plural nodes simultaneously output isochronous packets. This channel number duplication is prevented in the IEEE P1394 protocol by dedicating one node as a bus manager for centrally controlling bandwidth and channel numbers. A/V devices or other node devices executing isochronous transmission must receive from the bus manager the specific bandwidth and channel number used by that node for isochronous transmission. Note that the "used bandwidth" defines the amount of time in each cycle that the node outputting the isochronous packet can monopolize the bus to send the isochronous packets. Communications other than the isochronous transmission described above, e.g., communications for obtaining the used bandwidth and channel number, are accomplished by asynchronous transmission using asynchronous packets. Asynchronous transmission is accomplished using the cycle time remaining after isochronous transmission is completed in each cycle. Fig. 5 shows the asynchronous packet format defined by IEEE P1394. Each asynchronous packet comprises a 16-byte packet header 501; a 4-byte header CRC 502 for checking for transmission errors in the packet header 501; an asynchronous data body 503; and a 4-byte data CRC 504 for checking for transmission errors in the asynchronous transmission data. The packet header 501 comprises a receiver node identifier 601, which is the identifier of the node to which the transmitted asynchronous packet is addressed, and a transmitter node identifier 602, which is the identifier of the node transmitting the packet. The receiver node identifier 601 and the transmitter node identifier 602 in the packet header are each two bytes long. The receiver node receives all asynchronous packets in which the value of the receiver node identifier 601 is equal to the node identifier of the receiver node. The receiver node can also determine by the transmitter node identifier 602 in the received asynchronous packets which node sent the asynchronous packet by reading the transmitter node identifier 602. The procedure for asynchronous transmission is described next. To send an asynchronous packet, the control block 203 instructs the interface block 201 to asynchronously transmit the asynchronous transmission data after appending the receiver node identifier identifying the addressed node. The interface block 201 thus generates and outputs the asynchronous packets from the asynchronous data, receiver node identifier, and other information input from the control block 203. When an asynchronous packet is received, the interface block 201 identifies the asynchronous packets addressed to chat node by evaluating the receiver node identifier 601 contained in the packet header 501, and outputs the asynchronous data 503 and the transmitter node identifier 602 from the received asynchronous packet to the control block 203. The control block 203 then executes the required processing based on the asynchronous data input thereto. Referring to Figs. 7 and 8, an embodiment of the present invention is described below with specific application to a video cassette recorder (VCR) as the A/V device. Fig. 7 shows the format of an isochronous packet transmitted during isochronous transmission. Referring to Fig. 7, data block 303 is used to communicate any data the user wishes to communicate, and comprises a data header 702 identifying the type of data transmitted in that isochronous packet, and the A/V data 703 actually transmitted. The data header 702 comprises the node identifier 1101 identifying the node that transmitted that isochronous packet, and other header data. Thus, by detecting and reading the node identifier 1101 at the receiver node, it is possible to detect who is the transmitter node. When a new node is connected and a bus reset is generated according to the IEEE P1394 protocol, a new node identifier is automatically assigned to that newly connected node. As a result, the node transmitting the isochronous packet writes the node identifier assigned thereto to the data header 702 according to the format shown in Fig. 7, and then transmits the isochronous packet. Fig. 8 shows how five VCRs may be connected for dubbing A/V data. The operation of each of the five VCRs 1201 - 1205 is controlled by the control block 203 built in to each VCR. Note that the control block 203 of the present invention is achieved by a microcomputer. The VCRs 1201 - 1205 are connected by connector cables 1205. Each time a cable is connected, a 'bus reset' command is generated to assign the node identifiers to the VCRs 1201 - 1205. Node identifiers (node_ID) 0 - 4 are assigned to VCRs 1201 - 1205, respectively, by way of example only in the following description. As noted above, packet sending and receiving is executed on a 125 µsec cycle according to the IEEE P1394 protocol, and the first half of each cycle can be assigned to a priority time band for isochronous transmission. It is therefore necessary to reserve the bandwidth required within the finite priority time band reserved for isochronous transmission. More specifically, it is necessary to first determine which communications channel is to be used for what length of time for isochronous packet transmission. Managing this priority time band is also handled by the node used as the bus manager node 1204. It is assumed in the following description that A/V data reproduced by the first VCR 1201 is to be dubbed by VCRs 1202 and 1203, and that VCR 1204 is the bus manager node managing the priority time band. (VCR 1205 will be used for the description of the second embodiment.) The execution of the present embodiment is described below by these three function blocks. Data other than the A/V data used in the following description, e.g. continuation requests and stop enable flags sent from the receiver node to the transmitter node, are communicated using asynchronous packets. In the control block 203 of VCR 1201 serving as a play device, a counter 1201a is provided. In the control block 203 of VCRs 1202 and 1203 each serving as a recording device, up/down command generators 1202a and 1203a are provided, respectively. The up/down command generator 1202a or 1203a generates an up command, it means that the VCR 1202 or 1203 will continue to stay in the recording mode, and when it generates a down command, it means that the VCR 1202 or 1203 is released from the recording mode. For example, when the up/down command generator 1202a generates an up command, the counter 1201a which was before in the reset condition, is incremented from "0" to "1" indicating that there is one VCR which will continue to record the data sending from this player 1201. Thereafter, when the up/down command generator 1203a generates an up command, the counter 1201a now carrying "1" is incremented to "2" indicating that there is two VCRs which will continue to record the data sending from this player 1201. Thereafter, when the up/down command generator 1203a generates a down command, the counter 1201a now carrying "2" is decremented to "2" indicating that there is one VCRs which will continue to record the data sending from this player 1201. When the counter 1201a is carrying a number other than "0", such as "1" or "2", the player 1201 is in a protect mode so that the play mode will not be stopped by an internal stop command, but stops only by an external stop command. Here, the internal stop command is a command transmitted along the bus from some other VCR; and the external stop command is a command given directly by hand to the VCR, such as by the depression of a STOP button (not shown), or by the power cut off. The up command can be considered as a continuation request to continue the play mode of the player, or a protect transmission request to protect the transmission of play until all the recording VCRs stop recording. A block diagram of the control block 203 used in this embodiment is shown in Fig. 9. The command interpreter 1501 interprets operating commands received as a result of direct user control or asynchronous transmission from another node, and instructs the communications manager 1502 to begin and end isochronous and asynchronous transmission. The input to the communications manager 1502 includes instructions from the command interpreter 1501, and information input by asynchronous transmission from other nodes and required for communications management. Based on the input information, the communications manager 1502 instructs the interface block 201 and the A/V signal processing block 202 when to begin and end isochronous transmission; outputs the information required for communications management of the other nodes to the interface block 201 as asynchronous data; and simultaneously instructs the interface block 201 to output that information by asynchronous transmission. The procedure whereby the transmitter node begins isochronous packet transmission by the data transmission method according to this second embodiment is described next. The user :first instructs the A/V device that is the transmitter node to output the A/V data by the user operation. This instruction is input to the command interpreter 1501 of the control block 203; the information instructing output of the real-time data on the Broadcast channel is extracted by the command interpreter 1501 from the input instruction; and the extracted information is input to the communications manager 1502. The communications manager 1502 then executes control to begin outputting the real-time data using the Broadcast channel. The first embodiment of a data transmission method according to the present invention relates to the isochronous transmission start and stop procedures executed by nodes A and B when node A is transmitting by isochronous transmission and node B is then substituted for node A to continue transmission by isochronous transmission, such as when editing two tapes into one tape. The following procedure is typically executed to change the transmitter node in data transmission methods according to the prior art. To stop transmission by node A during isochronous transmission by node A, the user operates node A to stop transmission. When node A thus receives a "scop cransmission" instruction from the user, node A scops outputting isochronous packets, and releases the channel number and used bandwidth to the bus manager. The user then instructs node B acquire a channel and to commence output using the acquired channel. In this case, node B must communicate with the bus manager to obtain an acceptance from the bus manager to use a new channel and a bandwidth before starting the isochronous transmission, which is the follow-up of the node A's isochronous transmission. As described above, it is necessary for the user to separately operate both nodes A and B. In addition, both node A and node B must separately communicate asynchronously with the bus manager, thus increasing bus traffic. The data transmission method of the first embodiment of the present invention resolves this problem as follows. When node A, such as play device 1201 in Fig. 8, is transmitting by isochronous transmission using the Broadcast channel described above, the present embodiment controls node B, such as play device 1205 in Fig. 8, to begin isochronous packet transmission using the Broadcast channel in place of node A. According to the third embodiment, the node identifier of the transmitter node is written to each isochronous packet before the packet is output, so that the node transmitting the isochronous packets can be determined by simply receiving the isochronous packets. One example of the data format in the data block 303 of the isochronous packets according to this embodiment is shown in Fig. 10. The transmitter node identifier 1801, which is simply the node identifier of the transmitter node, is added to the data block 303. In this example the real-time data 1802 is added after the transmitter node identifier 1801. It is also possible to place a data header 702 at the beginning of the data block 303 as shown in Fig. 7, and write the node identifier 1101 to that data header. The real-time data 1802 is input from or is output to the A/V signal processing block 202. The procedure whereby node B begins isochronous transmission according to this embodiment is described below. Fig. 11 is a flow chart of the operation of the communications manager 1502 in the control block 203 of node B. When the user instructs node B to begin isochronous transmission by operating either node B or another node, the user command is relayed to the communications manager 1502 via the command interpreter 1501 in the control block 203 of node B. When the communications manager 1502 receives the user command, it instructs the interface block 201 to receive isochronous packets from the Broadcast channel (step 1901). When the interface block 201 receives an isochronous packet of the Broadcast channel, it detects the transmitter node identifier 1801 added to the received packet, and reports the detected node identifier to the communications manager 1502 in the control block 203 (step 1902). Further more, in step 1902, the node identifier of the node transmitting the isochronous packets on the Broadcast channel is input from the interface block 201, node B recognizes that isochronous packets have been transmitted from node A through the Broadcast channel, and control advances to step 1903. In step 1903, the. interface block 201 is instructed by the communications manager 1502 to send a "stop output request" to node A, and the interface block 201 therefore sends a "stop output request" to node A using asynchronous packet transmission. In step 1903', it is detected whether or not the node A has rejected the "stop output request". When output from node A is not completed, node B is notified that node A has rejected the "stop output request" (step 2005). If it has, the control ends, but if not, the control advances to step 1904. In step 1904, it is determined whether a "used bandwidth" used by node A was received, or not. When node A stops output, node B is notified of the bandwidth used by node A after transmission stops (seep 2004). When the interface block 201 of node B receives an asynchronous packet containing either the "used bandwidth" of node A or rejection notice of the "stop output request", it informs the communications manager 1502 of the received information. When the communications manager 1502 of node B is informed by the interface block 201 of the used bandwidth, control advances to step 1905. In step 1905, it is determined whether the used bandwidth of node A and the bandwidth scheduled for use by node B are equal. If they are, control advances to step 1906. In step 1906, the A/V signal processing block 202 and interface block 201 are controlled to output the real-time data by Broadcast channel isochronous packets. The A/V signal processing block 202 thus outputs the real-time data to the interface block 201, and the interface block 201 outputs the isochronous packets, as instructed by the communications manager 1502. If in step 1905 the used bandwidth of node A and the bandwidth scheduled for use by node B are determined to not be equal, the communications manager 1502 branches to step 1907 and instructs the interface block 201 to request the bus manager to change the bandwidth. The interface block 201 thus negotiates with the bus manager 1204 using asynchronous transmission to change the used bandwidth, and informs the communications manager 1502 whether the used bandwidth was successfully changed. At step 1908, the communications manager 1502 determines whether the used bandwidth was successfully changed; if it was not, the interface block 201 is instructed to release to the bus manager the Broadcast channel and the bandwidth used by node A (step 1910). If the used bandwidth was successfully changed (step 1908), the A/V signal processing block 202 and interface block 201 are instructed to output the real-time data using isochronous packets assigned the Broadcast channel (step 1909). Following the instructions from the communications manager 1502, the A/V signal processing block 202 outputs the real-time data to the interface block 201, which then outputs the isochronous packets as also instructed by the communications manager 1502. The procedure in node A for stopping the isochronous transmission is described next. Fig. 12 is a flow chart of the operation of the communications manager 1502 in the control block 203 of node A. When node A is transmitting via isochronous transmission, the communications manager 1502 in the control block 203 of node A monitors whether a stop output request has been received from another node (step 2001), such as from node B. When the node A interface block 201 receives from another node (node B in this example) via asynchronous transmission an asynchronous packet containing a stop output request, it notifies the communications manager 1502 that a stop output request was received from node B. When the communications manager 1502 thus determines in step 2001 that a "stop output request" was received, it determines in seep 2002 whether output can be stopped. This determination can be entrusted to the user, but it is also normally possible to make this determination by determining whether there is any device inputting the A/V data being output by node A. To enable this, it is necessary for any nodes inputting A/V data from any other node to request the node outputting that A/V data to not stop A/V data output. If it is determined in step 2002 that output cannot be stopped, the communications manager 1502 instructs the interface block 201 to notify node B that the stop output request is rejected (step 2005), and the interface block 201 so notifies node B by asynchronous transmission. Node A therefore does not stop outputting. If, however, it is determined in step 2002 that output can be stopped, the interface block 201 and A/V signal processing block 202 are instructed to end the isochronous transmission. The interface block 201 therefore stops isochronous packet output as instructed by the communications manager 1502, and the A/V signal processing block 202 stops outputting the real-time data to the interface block 201 as likewise instructed (step 2003). The communications manager 1502 then instructs the interface block 201 to notify node B of the bandwidth used by node A (step 2004), and the interface block 201 so notifies node B by asynchronous transmission. It is therefore possible by the present embodiment to switch the transmitter node from one node (A) to another node (B) by the user operating only node B, and when the bandwidth used by nodes A and B is the same, it is not necessary for nodes A and B to communicate with the bus manager, thereby reducing bus traffic. A data transmission method according to the second embodiment of the present invention is described below. The second embodiment of a data transmission method according to the present invention relates to a means for switching the isochronous transmitter node from node A to node B. When isochronous transmission is continued with node B substituted for node A, it is necessary by the method of the third embodiment above for node B to send a "stop output request" to node A. If it is determined that node A is unable to stop output, node A rejects the stop output request from node B and maintains data output. By the first embodiment of the invention, it is possible for the user to force node A to stop data output and instruct node B to begin output when it is necessary for the user to force the transmitter node to switch from node A to node B. When node A thus receives a stop output command from the user, node A must release the Broadcast channel and used bandwidth by asynchronous transmission with the bus manager. It is also necessary for node B to obtain from the bus manager by asynchronous transmission the Broadcast channel and the bandwidth to be used by node B as commanded by the user. As a result, when node A sends a stop output rejection notice to node B, the user must operate both node A and node B, and both node A and node B must communicate with the bus manager by asynchronous transmission. The second embodiment of the invention is described below, referring first to the procedure whereby node B starts isochronous transmission. Fig. 13 is a flow chart of the operation of the communications manager 1502 in the control block 203 of node B. This flow chart differs from that of the third embodiment shown in Fig. 11 in that steps 2101 and 2102 are further added, which are for the operation taken when a stop request rejection is received from node A in step 1904. When a stop request rejection is received by node B, or when the "used bandwidth" is not received by node B, it is determined whether output from node A should be forcefully stopped in step 2101. This determination is made by the user, and is communicated to the communications manager 1502 via the command interpreter 1501. If it is not determined to forcefully stop node A output in step 2101, output by node B using the Broadcast channel does not occur. When it is determined in step 2101 to forcefully stop node A output, the communications manager 1502 instructs the interface block 201 to send a "stop output command" to node A (step 2102). Note that the stop output command must be output within a predetermined period after the stop output rejection is received. When node A receives the stop output command, it stops output, and notifies node B of the bandwidth used for node A output. The interface block 201 of node B then receives an asynchronous packet containing the used bandwidth from node A, and forwards this information to the communications manager 1502 of node B. After executing step 2102, the node B communications manager 1502 loops back to step 1904, from which control flows to step 1905 because the used bandwidth has been received from node A; operation thereafter is the same as described above for the third embodiment. The procedure in node A for stopping the isochronous transmission in this second embodiment is described next. Fig. 14 is a flow chart of the operation of the communications manager 1502 in the control block 203 of node A. This flow chart differs from that of the third embodiment described above (Fig. 12 in that step 2201 is further added, that is the operation taken after node B is notified in step 2005 that the stop output request was rejected. In step 2005, the communications manager 1502 of node A instructs the interface block 201 to notify node B that the stop output request is rejected (step 2005), and the interface block 201 so notifies node B by asynchronous transmission. The communications manager 1502 then monitors for a predetermined period of time in step 2201 whether a stop output command is received from node B. If node B receives a stop output rejection from node A, and determines that node A output should be forcefully stopped, node B outputs the stop output command to node A within the predetermined period of time after receiving the stop output rejection. The node A interface block 201 thus receives from node B an asynchronous packet containing the stop output command, and notifies the communications manager 1502 thereof that a stop output command was received from node B. The communications manager 1502 thus determines in step 2201 that a "stop output command" was received, and control advances to step 2003; operation thereafter is the same as described above for the third embodiment. When node B determines that node A output should not be forcefully stopped, the stop output command is not output within the predetermined period of time after the stop output rejection is received, the communications manager 1502 determines in step 2201 that the stop output command was therefore not received, and node A isochronous transmission continues. By the second embodiment of the invention thus described, the user is able to stop output from node A by operating only node B and not operating node A when changing the isochronous transmission node from node A to node B, even when node A rejects the stop output request from node B.

Claims: A data transmission apparatus for communicating real-time data packets over a bus, said communication being carried out between the data transmission apparatus, comprising a first node, and a second node, said data transmission apparatus comprising: means for sending data packets produced by the first node to identify said first node for detection by the second node; means for detecting (2001) a "stop output request" signal sent by said second node; means for stopping (2003) said communication through a broadcast channel of a plurality of channels when said "stop output request" signal sent by said second node is accepted by said first node; said communication of real-time data packets being succeeded by the second node through the broadcast channel. A data transmission apparatus according to claim 1, further comprising means for rejecting (2005) the "stop output request" signal when it is determined that the first node is unable to interrupt the current communication. A data transmission apparatus according to claim 2, further comprising: means for receiving a "stop output command" signal sent from the second node to the first node; and means for forcibly stopping (2201, 2003) the current communication through the broadcast channel upon receipt of the "stop output command" signal, even when the first node determines it is unable to interrupt the current communication upon receipt of the "stop output request" signal.

Inventors: HAMAI SHINJI, IITSUKA HIROYUKI, KAWAKAMI YASUNORI, NISHIMURA TAKUYA, SAHARA YASUYUKI, HAMAI, SHINJI, IITSUKA, HIROYUKI, KAWAKAMI, YASUNORI, NISHIMURA, TAKUYA, SAHARA, YASUYUKI
Applicants: MATSUSHITA ELECTRIC IND CO LTD, MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD.
Application year: 1995
Main classification: H04L12
IPC codes: H04L12, H04M7, H04M3, H04L29, H04N7