WO2000058844A1 - Method for the management of data received via a data bus, and apparatus for carrying out the method - Google Patents

Method for the management of data received via a data bus, and apparatus for carrying out the method Download PDF

Info

Publication number
WO2000058844A1
WO2000058844A1 PCT/EP2000/002182 EP0002182W WO0058844A1 WO 2000058844 A1 WO2000058844 A1 WO 2000058844A1 EP 0002182 W EP0002182 W EP 0002182W WO 0058844 A1 WO0058844 A1 WO 0058844A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
bus
packet
source packet
counting
Prior art date
Application number
PCT/EP2000/002182
Other languages
French (fr)
Inventor
Siegfried Schweidler
Timothy Heighway
Klaus Gaedke
Original Assignee
Thomson Licensing S.A.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Licensing S.A. filed Critical Thomson Licensing S.A.
Priority to AU34291/00A priority Critical patent/AU764600B2/en
Priority to AT00912599T priority patent/ATE244420T1/en
Priority to JP2000608269A priority patent/JP2002540702A/en
Priority to MXPA01008251A priority patent/MXPA01008251A/en
Priority to EP00912599A priority patent/EP1163597B1/en
Priority to DE60003645T priority patent/DE60003645T2/en
Priority to BR0009287-8A priority patent/BR0009287A/en
Publication of WO2000058844A1 publication Critical patent/WO2000058844A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40058Isochronous transmission
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40071Packet processing; Packet format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements

Definitions

  • the invention relates to a method for the management of data received via a data bus.
  • the method can expediently be employed in particular when isochronous data packets are being received.
  • the invention furthermore relates to an apparatus for carrying out the method.
  • the apparatus may be, in particular, part of a bus interface for the connected data bus.
  • the invention is based on a method for the management of data packets received via the data bus of the generic type of the independent Claim 1.
  • isochronous means that data to be transmitted arise regularly at a data source, the data also arising with approximately the same size each time. Examples of such data sources are video recorders or camcorders, audio devices such as CD players or DAT recorders, and also DVD players or videophone devices, etc.
  • An international standard has been specially developed for this application of isochronous data transmission. The precise designation of this standard is: IEC International Standard 61883 *Consumer Audio/Video Equipment-Digital Interface, 1st edition 1998".
  • the first part of this standard describes the general data packet format, the data flow management and the connection management for audiovisual data.
  • General transmission rules for control commands are likewise defined.
  • a very frequent application relates to the transmission of MPEG2-coded video or audio data.
  • the data are transported via the bus in packets, as already mentioned.
  • the following structure is provided in the abovementioned Standard IEC 61883: the data generated in the data source are divided into so-called data source packets having a defined size.
  • the standard stipulates that a data source packet is composed for example of 8 data blocks of identical size. In this case, the data block size can be programmed. It may be between one and 256 quadlets, where a quadlet corresponds to a combination of 4 data bytes.
  • the data source packets can be transmitted such that they are combined in a single bus packet.
  • no addressing problem is manifested in the device that has received the data, because it is always clear that, for each new received bus packet, a completely received data source packet has arrived.
  • the invention achieves this object in such a way that it carries out modulo-n counting of the data blocks and signals the beginning of a new data source packet at the beginning of the respective next time interval of modulo-n counting.
  • modulo-8 counting is correspondingly carried out.
  • the counting interval begins at the counter reading 0 and ends at the counter reading 7.
  • the next counting interval then follows again, beginning with the counter reading 0.
  • Further improvements of the method are possible by virtue of the measures evinced in the dependent claims. Since, according to the IEEE 1394 Standard, each bus packet must be subjected to CRC checking, it is expedient to buffer-store the checking results of successive bus packets.
  • Checking the completeness of the transmitted data with the aid of a reference counter reading provided in each bus packet can be done as follows: comparison counting of the received data blocks is effected and each time the specific data block with which the reference counter reading is associated is received, a comparison is made between the reference counter reading and the result of the comparison counting and an error signal is output in the event of non-correspondence.
  • the IEC 61883 Standard stipulates that a DBC reference value which is valid for the first subsequent data block is entered in each bus packet. By counting the received data blocks and comparing the result with the received reference value, it is thus possible easily to ascertain whether e.g. a whole bus packet has not been received. The error monitoring is again improved by this measure.
  • the apparatus firstly comprises a memory unit to which the received data are written in order. Furthermore, a memory management device is provided which prescribes, in particular, the addresses for the read-in and read-out process. What are then essential are the modulo-n counter, by which the received data blocks are counted up, and the generation of the data source packet start signal when the modulo-n counter begins a new counting interval. The data source packet start signal is forwarded to the memory management device, which can then make a corresponding entry in a special register. These measures are specified in Claim 5.
  • Figure 1 shows the structure of a plurality of successive bus packets for the general transmission mode
  • Figure 2 shows a block diagram of the apparatus according to the invention.
  • Figure 1 shows an exemplary sequence of transmitted bus packets.
  • the first transmitted bus packet is illustrated at the top in Figure 1 and the last transmitted bus packet is correspondingly illustrated at the bottom in Figure 1.
  • the precise structure of a bus packet for isochronous data transmission is specified in the abovementioned IEC 61883 Standard. For the disclosure of the invention, therefore, reference is also expressly made to this standard.
  • the reference numeral 10 designates the header of the bus packet. It contains the details regarding the data field of the isochronous data packet, to be precise in a number of bytes and also further information, but this need not be discussed in any more detail below.
  • the header 10 of the bus packet is followed by a data field. The latter extends through the areas 11- 15, referring to the first bus packet illustrated. At the end of the bus packet there also follows an area 16, in which a CRC check word is stored.
  • a so-called CIP header is always provided at the beginning of the data field of a bus packet.
  • CIP is the abbreviation of "'common isochronous packet" .
  • the CIP header contains a series of information items which describe the isochronous data transfer. Thus, e.g.
  • an identification number SID for the data source is contained therein. Furthermore, it stipulates the size of the subsequent data blocks in the bus packet. Likewise, a detail FN (fraction number) is also contained, which specifies the number of data blocks into which a data source packet is divided. As already mentioned, there are always 8 data blocks per data source packet in the case of MPEG 2 video data. A further detail QPC (quadlet padding count) relates to how many padding quadlets are attached to the end of the data source packet in order to guarantee that the latter is divided into data blocks of the same size. Furthermore, an information item SPH (source packet header) is provided, which specifies whether a header for the data source packet is likewise also provided in the bus packet. Furthermore, a DBC value (data block counter) is also provided.
  • This value specifies which data block is the first data block in the bus packet. Therefore, all the data blocks are consecutively numbered individually. This value practically constitutes a reference counter reading which can easily be used to check whether a bus packet has not been received. To that end, the received data blocks are all counted up in the receiver station. Each time a new bus packet is received, the DBC value contained therein is compared with the counted comparison value. Only if both values correspond have all the data blocks been received and no bus packet has been lost. Further information items in the CIP header include an FMT entry (format ID) . This entry can be used to signal that the bus packet contains no data at all and is a so-called dummy packet.
  • An FDF entry (format dependent field) may also be defined, this being mentioned only for the sake of completeness, and also an SYT entry, which comprises a time specification for the bus packet.
  • the data blocks for the first data source packet SPO then follow in the subsequent areas 12, 13, 14 and 15.
  • the data blocks are individually consecutively numbered from DB0-DB3.
  • the entry 0 in the data area 11 is intended to indicate that the DBC value for this first bus packet is set to the value 0, which is synonymous with the fact that the first data block in this bus packet has the number 0. This must, of course, also be taken into consideration for the comparison counting. Therefore, the comparison count begins at 0.
  • the next bus packet contains a total of 8 data blocks. They reside in the data fields 12-15 and 17 to 20.
  • the data blocks DB4 to DB7 of the data source packet SPO are additionally contained in this second bus packet. There then follow the data blocks DB0 to DB3 of the data source packet SP1.
  • the detail 4 in the data field 11 indicates that the 4th data block of the isochronous data transmission can be found in this bus packet.
  • the third bus packet there then additionally follow in the data fields 12, 13, 14, 15, 17, 18 the outstanding data blocks DB4 to DB7 of the second data source packet and the first two data blocks of the next data source packet SP2.
  • this bus packet contains a total of six data blocks.
  • the detail 12 in the data field 11 again corresponds to the DBC value of this bus packet.
  • the data block that follows first in this bus packet is the twelfth data block of the isochronous transmission.
  • the fourth bus packet there then additionally follow the remaining data blocks of the data source packet SP2, namely DB2 to DB7.
  • the DBC value in the data field 11 of this bus packet is correspondingly 18.
  • the boundary between the data blocks of the first data source packet SPO and the data blocks of the second data source packet SP1 is situated in the middle of the second bus packet.
  • the boundary between the data blocks of the second bus packet SP1 and the data blocks of the third bus packet SP2 is situated in the last third of the third bus packet.
  • the received data pass via the bus 37 to the memory unit 30.
  • the data are buffer-stored in the memory unit 30 until they are forwarded to the application unit.
  • the data are output likewise via the bus 37 to the application unit, which is not specifically illustrated in Figure 2.
  • the following units also have access to the memory unit 30: CRC checking unit 32, modulo-8 counter 33, DB counter 34, data counter 35 and evaluation logic unit 36. All of these units are connected to one another via an internal bus 38 and are likewise connected to the memory unit 39 as well.
  • the memory management unit 31 is also a further separate unit. The said memory management unit likewise has access to the memory unit 30 via the internal bus 38.
  • a bus 40 is connected to the memory management unit 31, via which bus control data are exchanged with the external application unit.
  • Separate control lines additionally lead from the evaluation unit 36 to the memory management unit 31. These lines are firstly a line 41 via which a data source packet start signal SP_ST is transmitted, secondly a line 42 via which an error signal DBC_ERR is output, and thirdly a line 43 via which a CRC error signal CRC_ERR is output.
  • the apparatus described operates as follows: the individual data blocks, which after all have a constant size, are counted in the modulo-8 counter 31. If this counter starts to count with the counter reading 0, it will reach its highest value, referring to the example of Figure 1, at the last data block DB7 of the data source packet SPO and then start at 0 again after the last data block DB7 has been completely written to the memory. It then outputs the data source packet start signal SP_ST to the memory management unit 31, which then transfers the address that is now valid for the new data into the corresponding special register for the beginning of the next data packet.
  • the error signal CRC_ERR is output via the line 43.
  • the two CRC checking results for the first received bus packet and also for the second received bus packet must indicate freedom from errors in order that no error signal is output via the line 43.
  • the CRC checking of the individual bus packets is done in the CRC checking unit 32.
  • the collection of the individual checking results is then done in the evaluation unit 36. The same is true with regard to the generation of the error signal CRC_ERR when one of the checking results concerning a data source packet indicates an error.
  • the DB counter 34 counts up all the received data blocks. According to the IEC 61883 Standard, this counter is an 8-bit counter. If all the bus packets are received properly, this counter will respectively have the counter readings 4, 12 and 18 after the reception of the first, second and third data packets. These values are indeed also entered as reference values in the data fields 11 of the bus packets 2, 3 and 4. However, should the counter not have the counter reading as respectively specified in the data field 11, the evaluation unit 36 will generate the error signal DBC ERR already mentioned.
  • the data counter 35 operates as follows: it counts the data in units of bytes. In the IEC 61883 Standard, the data block size is specified in units of quadlets. The data block size can be programmed; to be precise all values between 1 and 256 quadlets are possible.
  • the stipulated value is contained in the CIP header CIPH. This value is evaluated and is then available in the evaluation logic unit 36.
  • the data counter 35 is then set in such a way that, when the end of a data block is reached, the said data counter generates a data block counting pulse and outputs it to the data block counter 34.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)
  • Traffic Control Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

The format of the transmission of isochronous data packets via the IEEE 1394 bus is defined in the IEC 61883 Standard. In this case, it is possible to use an operating mode in which the same number of data blocks (DB0-DB7) is always transmitted in a bus packet. In this case, the memory management is extremely simple and the data source packet boundaries can easily be determined. However, the IEC 61883 standard also leaves open the possibility of transmitting a variable number of data blocks (DB0-DB7) in the context of isochronous data transmission with the aid of bus packets. In this case, however, subsequently ascertaining the data source packet boundaries poses a problem. The invention specifies a solution, favourable in terms of outlay, as to how the data source packet boundaries can easily be reconstructed. It is based essentially on modulo-n counting of data blocks (DB0-DB7).

Description

Method for the management of data received via a data bus , and apparatus for carrying out the method
The invention relates to a method for the management of data received via a data bus. The method can expediently be employed in particular when isochronous data packets are being received. The invention furthermore relates to an apparatus for carrying out the method. The apparatus may be, in particular, part of a bus interface for the connected data bus.
Prior art
The invention is based on a method for the management of data packets received via the data bus of the generic type of the independent Claim 1. For quite a long time now the convergence of the product sectors of consumer electronics (hifi, video, audio) and personal computing has been trumpeted under the catchword multimedia and has actually been propelled by many manufacturers from both camps. The merging of the two product sectors means that work concerned with the subject of data exchange between the equipment of , the different product sectors or else between the equipment within one product sector is becoming more and more significant. This is also apparent from the efforts for standardization with regard to this subject, which are already well advanced. Specifically, the so-called IEEE 1394 serial bus already provides an internationally standardized and very widely accepted bus for data exchange between terminals from both product groups. The precise designation of the aforementioned standard is: IEEE Standard for high performance serial bus, (IEEE) STD 1394-1995, IEEE New York, August 1996. The invention that is to be described here is concerned with the so-called isochronous data transfer within the abovementioned bus system. In this connection, isochronous means that data to be transmitted arise regularly at a data source, the data also arising with approximately the same size each time. Examples of such data sources are video recorders or camcorders, audio devices such as CD players or DAT recorders, and also DVD players or videophone devices, etc. An international standard has been specially developed for this application of isochronous data transmission. The precise designation of this standard is: IEC International Standard 61883 *Consumer Audio/Video Equipment-Digital Interface, 1st edition 1998". The first part of this standard describes the general data packet format, the data flow management and the connection management for audiovisual data. General transmission rules for control commands are likewise defined. A very frequent application relates to the transmission of MPEG2-coded video or audio data. The data are transported via the bus in packets, as already mentioned. In this case, the following structure is provided in the abovementioned Standard IEC 61883: the data generated in the data source are divided into so-called data source packets having a defined size. For MPEG2 video data transmission, for example, the standard stipulates that a data source packet is composed for example of 8 data blocks of identical size. In this case, the data block size can be programmed. It may be between one and 256 quadlets, where a quadlet corresponds to a combination of 4 data bytes. According to the Standard, the data source packets can be transmitted such that they are combined in a single bus packet. In this case, no addressing problem is manifested in the device that has received the data, because it is always clear that, for each new received bus packet, a completely received data source packet has arrived.
However, the abovementioned standard also certainly permits another mode, in which fewer than eight data blocks can be transmitted in a bus packet. Put in concrete terms, it is also possible to transmit so-called dummy packets which do not contain any data blocks at all. However, further possible numbers of data blocks in a bus packet of between 0 and 8 are also allowed. The invention is now concerned with the concrete realization of this more general transmission mode.
Invention
The following problem arises in the realization of the general transmission mode. If it happens on an occasion that a bus packet contains fewer than eight data blocks of useful data, a complete data source packet can no longer be transmitted in the bus packet. Consequently, data blocks of the data source packet also follow in the next bus packet. If eight data blocks are then transmitted again e.g. in the next bus packet, the data block boundary between two data source packets is no longer synchronous with the end of the bus packet but rather lies somewhere in the bus packet. The memory management unit in the receiver device has to search for this boundary since it has to provide the information of where a data source packet starts and ends in special registers. This is necessary in order that it can make the data available to the application process after reception source packet by source packet. Thus, it is necessary to find a solution as to how the start and the end of a data source packet transmitted in fragments can subsequently be ascertained in the receiver device.
The invention achieves this object in such a way that it carries out modulo-n counting of the data blocks and signals the beginning of a new data source packet at the beginning of the respective next time interval of modulo-n counting. For the special case of the transmission of MPEG 2 source data, where the data source packet in each case comprises eight data blocks, modulo-8 counting is correspondingly carried out. In other words, the counting interval begins at the counter reading 0 and ends at the counter reading 7. Afterwards, the next counting interval then follows again, beginning with the counter reading 0. Further improvements of the method are possible by virtue of the measures evinced in the dependent claims. Since, according to the IEEE 1394 Standard, each bus packet must be subjected to CRC checking, it is expedient to buffer-store the checking results of successive bus packets. It is ensured that the data are free from errors only when all the bus packets containing a data block of the data source packet have been able to be subjected to CRC checking without a complaint. In the event of a complaint, a CRC error signal can then be output. The entire data source packet can then not be forwarded to the application process.
Checking the completeness of the transmitted data with the aid of a reference counter reading provided in each bus packet can be done as follows: comparison counting of the received data blocks is effected and each time the specific data block with which the reference counter reading is associated is received, a comparison is made between the reference counter reading and the result of the comparison counting and an error signal is output in the event of non-correspondence. The IEC 61883 Standard stipulates that a DBC reference value which is valid for the first subsequent data block is entered in each bus packet. By counting the received data blocks and comparing the result with the received reference value, it is thus possible easily to ascertain whether e.g. a whole bus packet has not been received. The error monitoring is again improved by this measure.
The following measures, which specify the way in which the corresponding object of the invention is achieved, are advantageous for an apparatus for carrying out the method according to the invention. The apparatus firstly comprises a memory unit to which the received data are written in order. Furthermore, a memory management device is provided which prescribes, in particular, the addresses for the read-in and read-out process. What are then essential are the modulo-n counter, by which the received data blocks are counted up, and the generation of the data source packet start signal when the modulo-n counter begins a new counting interval. The data source packet start signal is forwarded to the memory management device, which can then make a corresponding entry in a special register. These measures are specified in Claim 5.
Further advantageous measures for the apparatus according to the invention are also contained in the dependent Claims 6-8.
Drawings
Exemplary embodiments of the invention are illustrated in the drawings and are explained in more detail in the description below. In the figures: Figure 1 shows the structure of a plurality of successive bus packets for the general transmission mode, and Figure 2 shows a block diagram of the apparatus according to the invention.
Exemplary embodiments of the invention
Figure 1 shows an exemplary sequence of transmitted bus packets. The first transmitted bus packet is illustrated at the top in Figure 1 and the last transmitted bus packet is correspondingly illustrated at the bottom in Figure 1. The precise structure of a bus packet for isochronous data transmission is specified in the abovementioned IEC 61883 Standard. For the disclosure of the invention, therefore, reference is also expressly made to this standard.
In Figure 1, the reference numeral 10 designates the header of the bus packet. It contains the details regarding the data field of the isochronous data packet, to be precise in a number of bytes and also further information, but this need not be discussed in any more detail below. The header 10 of the bus packet is followed by a data field. The latter extends through the areas 11- 15, referring to the first bus packet illustrated. At the end of the bus packet there also follows an area 16, in which a CRC check word is stored. A so-called CIP header is always provided at the beginning of the data field of a bus packet. CIP is the abbreviation of "'common isochronous packet" . The CIP header contains a series of information items which describe the isochronous data transfer. Thus, e.g. an identification number SID for the data source is contained therein. Furthermore, it stipulates the size of the subsequent data blocks in the bus packet. Likewise, a detail FN (fraction number) is also contained, which specifies the number of data blocks into which a data source packet is divided. As already mentioned, there are always 8 data blocks per data source packet in the case of MPEG 2 video data. A further detail QPC (quadlet padding count) relates to how many padding quadlets are attached to the end of the data source packet in order to guarantee that the latter is divided into data blocks of the same size. Furthermore, an information item SPH (source packet header) is provided, which specifies whether a header for the data source packet is likewise also provided in the bus packet. Furthermore, a DBC value (data block counter) is also provided. This value specifies which data block is the first data block in the bus packet. Therefore, all the data blocks are consecutively numbered individually. This value practically constitutes a reference counter reading which can easily be used to check whether a bus packet has not been received. To that end, the received data blocks are all counted up in the receiver station. Each time a new bus packet is received, the DBC value contained therein is compared with the counted comparison value. Only if both values correspond have all the data blocks been received and no bus packet has been lost. Further information items in the CIP header include an FMT entry (format ID) . This entry can be used to signal that the bus packet contains no data at all and is a so-called dummy packet. An FDF entry (format dependent field) may also be defined, this being mentioned only for the sake of completeness, and also an SYT entry, which comprises a time specification for the bus packet. The data blocks for the first data source packet SPO then follow in the subsequent areas 12, 13, 14 and 15. The data blocks are individually consecutively numbered from DB0-DB3. The entry 0 in the data area 11 is intended to indicate that the DBC value for this first bus packet is set to the value 0, which is synonymous with the fact that the first data block in this bus packet has the number 0. This must, of course, also be taken into consideration for the comparison counting. Therefore, the comparison count begins at 0. The next bus packet contains a total of 8 data blocks. They reside in the data fields 12-15 and 17 to 20. The data blocks DB4 to DB7 of the data source packet SPO are additionally contained in this second bus packet. There then follow the data blocks DB0 to DB3 of the data source packet SP1. The detail 4 in the data field 11 indicates that the 4th data block of the isochronous data transmission can be found in this bus packet. In the third bus packet, there then additionally follow in the data fields 12, 13, 14, 15, 17, 18 the outstanding data blocks DB4 to DB7 of the second data source packet and the first two data blocks of the next data source packet SP2. Thus, this bus packet contains a total of six data blocks. The detail 12 in the data field 11 again corresponds to the DBC value of this bus packet. It means that the data block that follows first in this bus packet is the twelfth data block of the isochronous transmission. In the fourth bus packet, there then additionally follow the remaining data blocks of the data source packet SP2, namely DB2 to DB7. The DBC value in the data field 11 of this bus packet is correspondingly 18.
The boundary between the data blocks of the first data source packet SPO and the data blocks of the second data source packet SP1 is situated in the middle of the second bus packet. The boundary between the data blocks of the second bus packet SP1 and the data blocks of the third bus packet SP2 is situated in the last third of the third bus packet. These boundaries must be determined in order that the corresponding address entries can be made in the special registers of the memory management unit. The invention affords a solution enabling the data source packet boundaries to be determined; this solution is explained in more detail below with reference to Figure 2. Figure 2 shows the components relevant to the invention. These components are parts of a data link layer circuit of an IEEE 1394 bus interface. The reference number 30) designates a memory unit which is provided below for receiving and buffer-storing data. It may be part of a larger memory unit, just a specific area within the larger memory simply being allocated for this purpose. The received data pass via the bus 37 to the memory unit 30. The data are buffer-stored in the memory unit 30 until they are forwarded to the application unit. In this case, the data are output likewise via the bus 37 to the application unit, which is not specifically illustrated in Figure 2. The following units also have access to the memory unit 30: CRC checking unit 32, modulo-8 counter 33, DB counter 34, data counter 35 and evaluation logic unit 36. All of these units are connected to one another via an internal bus 38 and are likewise connected to the memory unit 39 as well. The memory management unit 31 is also a further separate unit. The said memory management unit likewise has access to the memory unit 30 via the internal bus 38. Therefore, it also serves as the bus master for the internal bus 38 and allocates it to the individual connected units. It is connected to the memory unit 30 via a separate bus 39. Moreover, a bus 40 is connected to the memory management unit 31, via which bus control data are exchanged with the external application unit. Separate control lines additionally lead from the evaluation unit 36 to the memory management unit 31. These lines are firstly a line 41 via which a data source packet start signal SP_ST is transmitted, secondly a line 42 via which an error signal DBC_ERR is output, and thirdly a line 43 via which a CRC error signal CRC_ERR is output.
In order now to find the data source packet boundaries, the apparatus described operates as follows: the individual data blocks, which after all have a constant size, are counted in the modulo-8 counter 31. If this counter starts to count with the counter reading 0, it will reach its highest value, referring to the example of Figure 1, at the last data block DB7 of the data source packet SPO and then start at 0 again after the last data block DB7 has been completely written to the memory. It then outputs the data source packet start signal SP_ST to the memory management unit 31, which then transfers the address that is now valid for the new data into the corresponding special register for the beginning of the next data packet. Since the data blocks all have the same size, there is no need to provide a special register in which the end address of the last data packet of a data source packet has to be entered. Since the modulo-8 counter sets the counter reading to 0 again and then continues to count, it will have reached the counter reading 7 precisely again after the data block DB7 of the data source packet SP1 has been written in. It will therefore output a data source packet start signal which is forwarded via the evaluation unit 36 to the memory management unit 31 and causes the latter to store the memory address in the further special register. The counting is begun at 0 again and a data source packet start signal SP_ST would be generated anew after the reception of the data block DB7 of the data source packet SP2.
To ensure, however, that the data source packet start signals that are generated actually lead to the transfer of the corresponding address in the special registers, it is a precondition in this exemplary embodiment that error signals are not simultaneously present on the lines 42, 43. This is because otherwise the received data have been detected as containing errors and they are no longer allowed to be passed on to the application unit. Each received bus packet is checked with regard to freedom from errors in the CRC checking unit 32. Since the CRC check word at the end of each bus packet in the data field 16 only relates to all the data in this bus packet, the fact that a data source packet is free from errors can only be ascertained such that the CRC checking results of the individual bus packets are collected and are jointly evaluated each time the data source packet start signal is generated. If one of the CRC check words of the bus packets that are considered together indicates an error, the error signal CRC_ERR is output via the line 43. For example, after the generation of the data source packet start signal after the reception of the data block DB7 of the first data source packet SPO, the two CRC checking results for the first received bus packet and also for the second received bus packet must indicate freedom from errors in order that no error signal is output via the line 43. As already mentioned, the CRC checking of the individual bus packets is done in the CRC checking unit 32. The collection of the individual checking results is then done in the evaluation unit 36. The same is true with regard to the generation of the error signal CRC_ERR when one of the checking results concerning a data source packet indicates an error.
The DB counter 34 counts up all the received data blocks. According to the IEC 61883 Standard, this counter is an 8-bit counter. If all the bus packets are received properly, this counter will respectively have the counter readings 4, 12 and 18 after the reception of the first, second and third data packets. These values are indeed also entered as reference values in the data fields 11 of the bus packets 2, 3 and 4. However, should the counter not have the counter reading as respectively specified in the data field 11, the evaluation unit 36 will generate the error signal DBC ERR already mentioned. The data counter 35 operates as follows: it counts the data in units of bytes. In the IEC 61883 Standard, the data block size is specified in units of quadlets. The data block size can be programmed; to be precise all values between 1 and 256 quadlets are possible. The stipulated value is contained in the CIP header CIPH. This value is evaluated and is then available in the evaluation logic unit 36. The data counter 35 is then set in such a way that, when the end of a data block is reached, the said data counter generates a data block counting pulse and outputs it to the data block counter 34.
Various adaptations and modifications of the exemplary embodiments described are possible. The structure with the various internal bus lines and bus lines provided for the external components, as described, may be chosen differently. Parts of the apparatus explained may also be realized by software. The invention is not restricted to use with the IEEE 1394 bus mentioned. It can also be used for other wire-based bus systems or else for wire-free bus systems.

Claims

Patent Claims
1. Method for the management of data received via a data bus, the data being transmitted in bus packets having a variable length, the data being divided into data blocks (DB0-DB7) having a defined length, a combination of a defined number n of data blocks (DB0-DB7) forming a data source packet (SP0-SP2), section-by-section transmission of the data source packet (SP0-SP2) within the framework of data blocks being permitted, characterized in that modulo-n counting of the data blocks (DB0-DB7) is carried out in order to determine the data source packet boundaries, and in that the beginning of a new data source packet (SP1, SP2) is signalled to a memory management device (31) at the beginning of the next counting interval.
2. Method according to Claim 1, in which each bus packet is subjected to CRC checking and the checking results are buffer-stored in order to be able to ascertain whether a data source packet (SP0-SP2) transmitted in two or more bus packets has been transmitted without any errors.
3. Method according to Claim 1 or 2, in which a reference counter reading is transmitted in each bus packet in order to check the completeness of the transmitted data, and in which comparison counting of the received data blocks (DB0-DB7) is effected and, when the data block associated with the reference counter reading is received, the result of the comparison counting is compared with the reference counter reading and an error signal (DBC_ERR) is output in the event of non-correspondence .
4. Method according to one of the preceding claims, in which the defined number n of data blocks (DB0-DB7) of a data source packet (SP0-SP2) corresponds to the number 8 and the modulo-n counting is correspondingly modulo-8 counting.
5. Apparatus for carrying out the method according to one of the preceding claims, having a memory unit (30) to which the received data are written in order, and having a memory management device (31), characterized in that a modulo-n counter (33) is provided, which counts the received data blocks (DB0-DB7) and outputs a data source packet start signal (SP_ST) to the memory management device (31) at the beginning of the next counting interval.
6. Apparatus according to Claim 5, which furthermore has a CRC checking unit (32), by means of which the data in the received bus packets are checked with regard to freedom from errors, where the checking results of a plurality of successive bus packets are buffer-stored and combined if the data source packet start signal (SP_ST) has been identified, and where the CRC checking unit (32) outputs an error signal (CRC_ERR) if one of the combined checking results includes an identified error.
7. Apparatus according to Claim 5 or 6, which furthermore has a data block reference counter (34), which effects the comparison counting of the received data blocks (DB0-DB7), and where comparison means are provided which compare the counter reading of the data block reference counter (34) with the received reference counter reading of the bus packet and output an error signal (DBC_ERR) in the event of non-correspondence.
8. Apparatus according to one of the preceding claims, which furthermore has a data counter (35) , by which the data are counted in particular in units of bytes and which outputs a data block counting signal if the number of data that have been counted are as many as are defined as belonging to a data block (DB0-DB7).
9. Apparatus according to one of the preceding claims, where the data bus is designed according to the IEEE 1394 standard and the apparatus is part of a data • link layer module in the interface for this data bus.
PCT/EP2000/002182 1999-03-25 2000-03-13 Method for the management of data received via a data bus, and apparatus for carrying out the method WO2000058844A1 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
AU34291/00A AU764600B2 (en) 1999-03-25 2000-03-13 Method for the management of data received via a data bus, and apparatus for carrying out the method
AT00912599T ATE244420T1 (en) 1999-03-25 2000-03-13 METHOD FOR MANAGING DATA RECEIVED THROUGH A DATA BUS AND DEVICE FOR IMPLEMENTING THE METHOD
JP2000608269A JP2002540702A (en) 1999-03-25 2000-03-13 Method for managing data received over a data bus and apparatus for performing the method
MXPA01008251A MXPA01008251A (en) 1999-03-25 2000-03-13 Method for the management of data received via a data bus, and apparatus for carrying out the method.
EP00912599A EP1163597B1 (en) 1999-03-25 2000-03-13 Method for the management of data received via a data bus, and apparatus for carrying out the method
DE60003645T DE60003645T2 (en) 1999-03-25 2000-03-13 METHOD FOR MANAGING DATA RECEIVED BY A DATA BUS AND DEVICE FOR IMPLEMENTING THE METHOD
BR0009287-8A BR0009287A (en) 1999-03-25 2000-03-13 Method for managing data received through a data bus and device to perform the method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19913585A DE19913585A1 (en) 1999-03-25 1999-03-25 Method for managing data received via a data bus and device for carrying out the method
DE19913585.1 1999-03-25

Publications (1)

Publication Number Publication Date
WO2000058844A1 true WO2000058844A1 (en) 2000-10-05

Family

ID=7902388

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2000/002182 WO2000058844A1 (en) 1999-03-25 2000-03-13 Method for the management of data received via a data bus, and apparatus for carrying out the method

Country Status (12)

Country Link
EP (1) EP1163597B1 (en)
JP (1) JP2002540702A (en)
KR (1) KR100712566B1 (en)
CN (1) CN1171155C (en)
AT (1) ATE244420T1 (en)
AU (1) AU764600B2 (en)
BR (1) BR0009287A (en)
DE (2) DE19913585A1 (en)
ES (1) ES2202075T3 (en)
MX (1) MXPA01008251A (en)
WO (1) WO2000058844A1 (en)
ZA (1) ZA200107108B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998047271A1 (en) * 1997-04-15 1998-10-22 Sony Electronics, Inc. Protocol processor for manipulating a stream of data
FR2766938A1 (en) * 1997-06-20 1999-02-05 Sony Corp Serial interface circuit and associated signal processing method
US5875313A (en) * 1997-04-08 1999-02-23 National Instruments Corporation PCI bus to IEEE 1394 bus translator employing write pipe-lining and sequential write combining

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3458469B2 (en) * 1994-07-15 2003-10-20 ソニー株式会社 Signal receiving apparatus and communication method
JPH10190705A (en) * 1996-10-22 1998-07-21 Sony Corp Transmission device/method and reception device/method
JP3731283B2 (en) * 1997-04-01 2006-01-05 ソニー株式会社 Signal processing circuit and method thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5875313A (en) * 1997-04-08 1999-02-23 National Instruments Corporation PCI bus to IEEE 1394 bus translator employing write pipe-lining and sequential write combining
WO1998047271A1 (en) * 1997-04-15 1998-10-22 Sony Electronics, Inc. Protocol processor for manipulating a stream of data
FR2766938A1 (en) * 1997-06-20 1999-02-05 Sony Corp Serial interface circuit and associated signal processing method

Also Published As

Publication number Publication date
CN1342288A (en) 2002-03-27
MXPA01008251A (en) 2003-07-21
EP1163597A1 (en) 2001-12-19
DE19913585A1 (en) 2000-09-28
EP1163597B1 (en) 2003-07-02
CN1171155C (en) 2004-10-13
JP2002540702A (en) 2002-11-26
KR20020006669A (en) 2002-01-24
KR100712566B1 (en) 2007-05-02
ES2202075T3 (en) 2004-04-01
AU3429100A (en) 2000-10-16
DE60003645T2 (en) 2004-06-09
AU764600B2 (en) 2003-08-21
DE60003645D1 (en) 2003-08-07
BR0009287A (en) 2002-01-08
ATE244420T1 (en) 2003-07-15
ZA200107108B (en) 2002-10-30

Similar Documents

Publication Publication Date Title
EP1055236B1 (en) Media storage device with embedded data filter for dynamically processing data during read and write operations
US6964006B2 (en) Network error display apparatus and error detection display method
US20030179719A1 (en) Method and apparatus for transmitting packets at a transfer rate that depends on a response from a destination
US6618832B1 (en) Method and bus interface employing a memory in an intergrated circuit which is used to link a bus with an application device to be controlled by the bus
US7130523B2 (en) Information processing method, information processing system and information processing apparatus
US6804795B1 (en) Electronic device and its repairing method
US6580711B1 (en) Serial interface circuit and signal processing method of the same
EP1171825B1 (en) Method for the compilation of bus packets for isochronous data transmission via a data bus, and apparatus for carrying out the method
JP3731283B2 (en) Signal processing circuit and method thereof
EP1163597B1 (en) Method for the management of data received via a data bus, and apparatus for carrying out the method
JP4033915B2 (en) Data stream control method and apparatus
JP4060530B2 (en) Method and apparatus for processing data packets received or transmitted on a data channel
US6584534B1 (en) Combined isochronous and asynchronous communication apparatus, method and interface
JP2000183995A (en) Data processing circuit
JPH10285241A (en) Signal processing circuit
JPH10285223A (en) Signal processing circuit
JP3189571B2 (en) Data processing device
EP1037424B1 (en) Method and Bus Interface for linking a bus with an application device
JPH10285236A (en) Signal processing circuit
JPH10285190A (en) Signal procesing circuit
EP1059590A1 (en) Method for pre-processing packets in a bus interface
JP2000332798A (en) Packet transfer device and data storage medium
JP2000149461A (en) Demodulation device and signal processor
JP2000151738A (en) Data processor, data transmission system and method therefor
MXPA00007861A (en) Method and device for processing data packets which have been received or are tobe transmitted on a data channel

Legal Events

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

Ref document number: 00804539.9

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AL AU BA BB BG BR CA CN CR CU CZ DM EE GD GE HR HU ID IL IN IS JP KP KR LC LK LR LT LU LV MA MG MK MN MX NO NZ PL RO SG SI SK TR TT UA US UZ VN YU ZA

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: PA/a/2001/008251

Country of ref document: MX

WWE Wipo information: entry into national phase

Ref document number: 1020017011064

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 09936479

Country of ref document: US

Ref document number: 2000912599

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2000 608269

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 34291/00

Country of ref document: AU

WWP Wipo information: published in national office

Ref document number: 2000912599

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020017011064

Country of ref document: KR

WWG Wipo information: grant in national office

Ref document number: 2000912599

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 34291/00

Country of ref document: AU

WWG Wipo information: grant in national office

Ref document number: 1020017011064

Country of ref document: KR