Abstract:
An interface communicates between two communication buses which use at least two different protocols. The interface includes a volatile memory having at least two access ports and including two transcoding circuits, each transcoding circuit being specific to each of the protocols to be interfaced.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     1. Field of the Invention  
         [0002]     The invention pertains to a communication interface. More particularly, a communication interface between at least two communication buses using two different communication protocols.  
         [0003]     2. Description of the Related Art  
         [0004]     In the world of multimedia, data transfers between two or more appliances are becoming ever more numerous. The appliances concerned may be mass-market products such as video recorders, televisions, DVD readers, HiFi systems and the like or belong to the computing world and in particular to the world of personal computers (hereinbelow PC). The tendency at present is to make all the appliances intercommunicate. However, the transfer of data requires bigger or smaller throughputs depending on the type of appliance and depending on the type of data. Communication protocols that are more or less dedicated to the various appliances or types of appliances are used. At present, the only appliance that is truly interconnectable with substantially all the others is the PC, if the latter has a specific interface for each communication protocol.  
         [0005]     However, certain personal computers, of portable type, have a reduced physical size which does not necessarily allow the integration of a new communication interface and they do not necessarily have all the communication interfaces available on the market.  
         [0006]     Moreover, certain appliances are rather more dedicated to the computing world and others rather more dedicated to the world of mass-market products and it is difficult to interconnect appliances belonging to these two worlds without going by way of a PC.  
         [0007]     At present, if one wishes to interface a device operating according to a communication protocol dedicated to the world of the PC to another device dedicated to the world of mass-market products, the interfacing is done by way of a PC, such as, for example, represented diagrammatically in  FIG. 1 . The PC represented comprises mainly a central processing unit (CPU)  1  having a central memory  2  coupled to the CPU  1  by a bus  3  and having a first communication interface  4  making it possible to communicate according to a first protocol and a second communication interface  5  making it possible to communicate according to a second protocol. A PC thus equipped allows a dialogue to be conducted between two appliances operating respectively according to the two protocols, for example the universal serial bus protocol, better known by the name of USB standard (standing for Universal Serial Bus) and the second protocol being, for example, the IEEE 1394 protocol. A message received in compliance with one of the protocols by one of the interfaces  4  or  5  causes the issuing of an interrupt destined for the CPU  1  which will search for a subprogram previously loaded into the central memory  2 . The subprogram will make it possible to temporarily store the data received in the memory  2 , then to send them to the other interface  5  or  4  so as to retransmit them according to the other protocol.  
         [0008]     As indicated previously, the PC must be furnished with a specific subprogram for carrying out the transcoding between the two protocols. Such a subprogram then neutralizes the use of the communication interfaces  4  and  5  allowing the PC to dialogue by way of these interfaces. It is then necessary for a user to have a minimum of knowledge to be able to change the parameter settings of these interfaces  4  and  5  depending on the use that one wishes to make thereof.  
         [0009]     This state of the art renders a simple interconnection between, for example, a music player and a digital video recorder relatively complex. Moreover, not everybody has his own PC.  
       BRIEF SUMMARY OF THE INVENTION  
       [0010]     One embodiment of the invention proposes an interface between two communication buses which use at least two different protocols. The interface is built around a volatile memory comprising at least two access ports which are coupled to two transcoding circuits. Each transcoding circuit is specific to each of the protocols to be interfaced. The use of a memory with at least two ports, each port being coupled to a transcoding circuit, makes it possible to dispense with complex memory management, thereby vastly simplifying the construction of the interface.  
         [0011]     One embodiment of the invention is a communication interface between at least one first and one second communication bus using respectively a first and a second protocol, each protocol having specifications suitable for the formatting and packetizing of data. The interface comprises a memory, a first transcoding circuit and a second transcoding circuit. The memory comprises at least one first and one second access port, each of the ports being controllable independently of one another. The first transcoding circuit supports the first protocol, and being coupled to the first access port of the memory. The first transcoding circuit makes it possible to packetize and to format data situated in the memory so as to transmit them to the first bus according to the specifications of the first protocol, and/or makes it possible to deformat and depacketize data received from the first bus according to the specifications of the first protocol so as to store them in the memory. The second transcoding circuit supports the second protocol, and being coupled to the second access port of the memory. The second transcoding circuit makes it possible to packetize and to format data situated in the memory so as to transmit them to the second bus according to the specifications of the second protocol, and/or makes it possible to deformat and depacketize data received from the second bus according to the specifications of the second protocol so as to store them in the memory.  
         [0012]     Preferably, a drive circuit coupled to the first and second transcoding circuits ensures synchronization between the two circuits.  
         [0013]     According to a particular embodiment, the interface comprises N communication buses using N communication protocols, each protocol having specifications suitable for formatting and packetization, and N transcoding circuits respectively supporting each of the N protocols, each transcoding circuit making it possible to packetize and to format data so as to transmit them by way of one of the N buses according to the specifications of one of the N protocols, and/or making it possible to deformat and depacketize data received from one of the N buses according to the specifications of the first protocol. The memory comprises N ports, each port of the said memory being coupled to one of the N transcoding circuits, N being an integer greater than two. The control circuit is furnished with means of selection for selectively controlling the transcoding circuits to be implemented so as to share one and the same group of data by way of the memory.  
         [0014]     One embodiment of the invention is also an integrated circuit comprising an interface such as defined above.  
         [0015]     According to another embodiment, the invention is a method of interfacing between at least one first and one second communication bus using respectively a first and a second communication protocol, each protocol having specifications suitable for the formatting and packetizing of data. The method comprises the following steps: reception by a first transcoding circuit supporting the first protocol of data originating from the first bus; deformatting, depacketization and decoding of the data received, by the first transcoding circuit according to the specifications of the first protocol; storage of the data decoded in a memory by way of a first port of the said memory; reading of the data decoded by a second transcoding circuit supporting the second protocol, the reading being performed by way of a second port of the memory; coding, packetization and formatting of the data read according to the specifications of the second protocol, by the second transcoding circuit; and sending over the second bus of the data formatted according to the second protocol.  
         [0016]     Preferably, the first transcoding circuit also stores in the memory information supplementing the data. A drive circuit synchronizes the second transcoding circuit so that the latter triggers the packetization and formatting coding step only after the first transcoding circuit has stored in the memory the data sufficient for a formatting according to the second protocol. The interfacing between the two buses is carried out selectively among N buses coupled to N transcoding circuits each operating in compliance with a different communication protocol chosen from among N protocols, the N transcoding circuits exchanging data between themselves by way of a memory having N ports, each port being coupled to one of the N transcoding circuits, N being greater than or equal to two, the control circuit selecting at least one transcoding circuit to be implemented. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0017]     The invention will be better understood and other features and advantages will become apparent on reading the description given with reference to the appended drawings among which:  
         [0018]      FIG. 1  represents a personal computer making it possible to interface two protocols according to the state of the art;  
         [0019]      FIG. 2  shows a first embodiment of an interface device between two protocols according to the invention;  
         [0020]      FIG. 3  shows a second embodiment of an interface device according to the invention. 
     
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS  
       [0021]     The interface represented in  FIG. 2  comprises a dual port memory  10 , two transcoding circuits  11  and  12  connected respectively to each of two ports  10 A,  10 B of the memory  10 , a drive circuit  13  coupled to the two transcoding circuits  11  and  12 , and two connectors  14  and  15  connected respectively to the two transcoding circuits  11  and  12 . The dual port memory  10  is a known circuit having a central memory area and two input/output ports. Each of the input/output ports makes it possible to drive the memory  10  independently of the other port.  
         [0022]     Each transcoding circuit  11  and  12  is dedicated to a communication protocol. The transcoding circuit  11  is dedicated to a protocol A, for example a protocol defined according to the USB standard and the transcoding circuit  12  is dedicated to a protocol B, for example a protocol defined according to the IEEE 1394 standard. The person skilled in the art may refer, on the one hand to the USB standard, and on the other hand to the IEEE 1394 standard for further details regarding the two protocols and the construction of the two transcoding circuits  11  and  12 . Each transcoding circuit  11  and  12  is respectively connected to a connector  14  and  15  so as to be able to be linked to a respective communication bus  16 ,  17  dedicated to the protocol supported by the transcoding circuit. Each transcoding circuit  11  and  12  is able to receive and/or send data according to the protocol to which it is dedicated. Each transcoding circuit  11  and  12  is also able to decode the data so as to write the said data to the memory in a decoded form and/or to read data from the memory  10  so as to encode them and then send them in a format corresponding to the protocol to which it is dedicated.  
         [0023]     The term decoding should be understood to mean on the one hand the depacketization of the data, the deformatting and possible decoding according to an error correction code. Likewise, the term encoding should be understood to mean on the one hand the packetization of the data, formatting and possible coding according to an error correction code.  
         [0024]     In addition to the data, the protocols can use supplementary information, such as the throughput, the data type transmitted, the address of the device for which the data is intended, etc. This supplementary information is also stored in the memory  10  so as to be adapted from one standard to the other when this is possible and/or is of interest.  
         [0025]     The drive circuit  13  serves to intersynchronize the transcoding circuits  11  and  12 . The drive circuit  13  receives information relating to the number of data written and read to and from the memory  10  by the transcoding circuits  11  and  12 . Addresses can be exchanged between the transcoding circuits  11  and  12  and the drive circuit  13  so as to manage the occupancy of the memory and also areas dedicated to the data transmitted and to the supplementary information. Construction of such a drive circuit is well within the ordinary skill in the art in view of the functional descriptions discussed herein.  
         [0026]     The manner in which the interface operates will now be indicated. If data are received by the transcoding circuit  11  via the connector  14 , the transcoding interface  11  will indicate to the drive circuit  13  that the former is receiving data. On the basis of the packet of data received, the transcoding circuit  11  extracts all the information supplementary to the data and writes it to an area of the memory  10  dedicated to this type of information. The data packet is thereafter descrambled, possibly decoded if the protocol uses an error correcting code and the raw data are thereafter written to a data area of the memory  10 . At the end of the reception and decoding of each packet received by the transcoding circuit  11 , the drive circuit  13  is informed of the number of data present in the memory  10 . When the memory contains a sufficient number of data to send a packet of data in compliance with the protocol B, the drive circuit  13  triggers the encoding of the transcoding circuit  12 . The transcoding circuit  12  will read from the memory  10  the supplementary information allowing the encoding, for example the information regarding type of data, throughput, etc. necessary for protocol B. The transcoding circuit  12  will create the header of the data packet with a view to a transmission over the second bus by way of the connector  15 . The data are thereafter read by the transcoding circuit  12  in the memory  10 , these data are encoded, placed into packets and forwarded over the second communication bus. When a data packet is sent by the transcoding circuit  12 , the latter indicates same to the drive circuit  13  which can in its turn indicate to the transcoding circuit  11  that the corresponding memory space is free again.  
         [0027]     In the case of a transfer going from the second bus to the first bus, the manner of operation is reversed. Thus the transcoding circuit  12  will depacketize the data so as to write to the memory  10 , on the one hand, the data and, on the other hand, the supplementary communication information. The drive circuit  13  triggers the packetization by the transcoding circuit  11  so as to send the data over the first bus by way of the connector  14 .  
         [0028]     The drive circuit  13  can moreover have an external connection making it possible to specify whether the interface behaves in a monodirectional or bidirectional manner or whether particular parameters need to be taken into account by one of the transcoding circuits  11  or  12 .  
         [0029]     Such an interface may be simply interconnected between a communication port according to a protocol A and a communication port according to a protocol B via prospective buses. In practice, the interface can be embodied with the aid of a single integrated circuit including the memory  10 , the two transcoding circuits  11  and  12  and the drive circuit  13 . Two external connectors  14  and  15  are linked to the integrated circuit so as to be able to connect the buses specific to each protocol. The circuit is powered directly by the buses which have a power feed as is the case for example for the USB and IEEE 1394 standards. The assembly then simply becomes a small device for interconnecting a cable of relatively reduced size that is easy for any user to use.  
         [0030]     A first embodiment has been presented which makes it possible to interface two communication protocols over serial buses such as defined by the USB and IEEE 1394 standards; however, other protocols, for example a protocol for exchanging data over a parallel bus, may require interconnections with these two protocols. Such a device does not make it possible to interconnect more than two protocols.  
         [0031]     A second embodiment represented in  FIG. 3  generalizes the principle and makes it possible to have a relatively compact device making it possible to interface several types of protocols. The interface of  FIG. 3  comprises a multiport memory  20 , for example a four-port memory  20 , four transcoding circuits  21  to  24  operating according to four different protocols A, B, C and D and respectively coupled to each port  20 A- 20 D of the memory  20 , a drive circuit  25  coupled to the four transcoding circuits, and four connectors  26  to  29  respectively coupled to the four transcoding circuits  21  to  24 . The drive circuit  25  is here necessarily furnished with means of selection which make it possible to select those buses  30 ,  31 ,  32 ,  33  between which a communication is performed. The manner of operation of such a circuit is the same as that of the interface of  FIG. 2 . However, prior to a transfer, the user may indicate to the drive circuit  25  between which of the transcoding circuits  21  to  24  the exchange of information is to be made by way of the memory  20 .  
         [0032]     The user may plug cables into the corresponding connectors  26  to  29 . The selection may be made, either with the aid of a switch, or by detecting the presence of a cable plugged into one of the connectors. Power is supplied for example by recovering a supply voltage from a connector. Here again, a simple integrated circuit can integrate the memory  20  as well as the four transcoding circuits  21  to  24  and the drive circuit  25 , a package containing the integrated circuit may comprise the four connectors  26  to  29  and also a switch to indicate to the drive circuit which connection is the one to be made.  
         [0033]     All of the above U.S. patents, U.S. patent application publications, U.S. patent applications, foreign patents, foreign patent applications and non-patent publications referred to in this specification and/or listed in the Application Data Sheetare incorporated herein by reference, in their entirety.  
         [0034]     From the foregoing it will be appreciated that, although specific embodiments of the invention have been described herein for purposes of illustration, various modifications may be made without deviating from the spirit and scope of the invention. Accordingly, the invention is not limited except as by the appended claims.