EP3928210A1 - Transmission of linked data on an i2c bus - Google Patents

Transmission of linked data on an i2c bus

Info

Publication number
EP3928210A1
EP3928210A1 EP20710216.1A EP20710216A EP3928210A1 EP 3928210 A1 EP3928210 A1 EP 3928210A1 EP 20710216 A EP20710216 A EP 20710216A EP 3928210 A1 EP3928210 A1 EP 3928210A1
Authority
EP
European Patent Office
Prior art keywords
data
transmission
datum
circuit
program product
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
EP20710216.1A
Other languages
German (de)
French (fr)
Inventor
René PEYRARD
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics Grenoble 2 SAS
Original Assignee
STMicroelectronics Grenoble 2 SAS
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 STMicroelectronics Grenoble 2 SAS filed Critical STMicroelectronics Grenoble 2 SAS
Publication of EP3928210A1 publication Critical patent/EP3928210A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J2/00Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
    • B41J2/005Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
    • B41J2/01Ink jet
    • B41J2/17Ink jet characterised by ink handling
    • B41J2/175Ink supply systems ; Circuit parts therefor
    • B41J2/17503Ink cartridges
    • B41J2/17543Cartridge presence detection or type identification
    • B41J2/17546Cartridge presence detection or type identification electronically
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • 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
    • 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/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • G06F21/608Secure printing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0016Inter-integrated circuit (I2C)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities

Definitions

  • the present description relates generally to electronic circuits and, more particularly, to systems in which several circuits are capable of communicating on an I2C bus.
  • the I2C protocol uses, besides a reference signal (generally ground) representing one of the two states of the binary signals, a data signal (SDA) and a clock or synchronization signal (SCL).
  • a reference signal generally ground
  • SDA data signal
  • SCL clock or synchronization signal
  • the I2C protocol is used to communicate between a device or master circuit, which generates the synchronization signal on a clock wire as well as the data signal on a data wire, and a slave device or circuit which responds on the data signal.
  • the slave device (receiver) generates an acknowledgment bit that it transmits over the data wire.
  • the conductors of the bus are, at rest, at a potential different from the reference potential, this second potential representing the other of the two states of the binary signals.
  • One embodiment overcomes all or part of the drawbacks of known authentication processes. [0006]
  • One embodiment provides for a transmission method on an I2C bus, in which a first channel of the data signal conveys a first datum and a second channel of the same data signal conveys a second datum, these two data being linked together .
  • One embodiment provides for a communication circuit on an I2C bus, comprising circuits suitable for implementing the method described.
  • One embodiment provides for a computer program product, comprising a non-transient storage medium comprising instructions suitable for implementing the method described.
  • One embodiment provides a memory circuit containing a correspondence table between a set of first data and a set of second data.
  • the second datum depends on the first datum.
  • the second datum represents the application of a corrective code to the first datum.
  • the second data item is a mask.
  • the second datum is identical to the first datum.
  • a transmission function is applied to transmission data:
  • the second datum corresponding to the transmission datum or to the result of the application of the function transmission to the transmission data or to a mask applied to the transmission data to obtain the first data.
  • a transmitter transmits the transmission datum via the first datum, the second datum representing verification or correction information for the first datum by a receiver.
  • a transmitter masks the transmission datum and then transmits the result via the first datum, the second datum representing unmasking information of the first datum by a receiver.
  • a reception function is applied to the first and second data and provides reception data, the reception data corresponding to the first data or to the result of the application of the function. reception.
  • information representative of the reception data item is returned to a transmitter circuit.
  • One embodiment provides a transmission system on an I2C bus comprising at least two devices, at least one of the devices:
  • One embodiment provides for a transmitter of such a system.
  • One embodiment provides a receiver of such a system.
  • One embodiment provides for a transceiver of such a system.
  • FIG. 1 very schematically shows in the form of blocks an embodiment of a system using an I2C bus to transmit data linked together;
  • FIG. 2 is a block diagram of a transmission-reception system for data linked on an I2C bus
  • FIG. 3 represents timing diagrams illustrating the operation of the I2C bus
  • FIG. 4 represents timing diagrams illustrating a multi-channel transmission on an I2C bus
  • FIG. 5 is a block diagram of one embodiment of a data transmission-reception system using an error correction mechanism (ECC);
  • ECC error correction mechanism
  • FIG. 6 is a flow diagram of operations associated with the implementation of the error correction mechanism between a transmitter and a receiver
  • FIG. 7 illustrates an example of a connection between an electronic circuit associated with a printer and electronic circuits associated with ink cartridges
  • FIG. 8 very schematically shows in the form of blocks an embodiment of an electronic circuit suitable for implementing the embodiments described. Description of embodiments
  • FIG. 1 very schematically shows in the form of blocks an embodiment of a system using an I2C bus for transmitting data linked together.
  • An I2C bus consists of two wires or conductors 21 and 22 intended to convey, respectively, an SDA data signal and an SCL synchronization signal.
  • circuits 11, 12, 13 are connected, preferably connected, to wire 21 (terminals 111, 121) for transmitting the SDA data signal, to wire 22 (terminals 113, 123) for transmitting the synchronization signal or SCL clock, and to a wire or conductor 23 (terminals 115, 125) brought to a reference electric potential (typically ground, GND).
  • the circuits 11, 12, 13 and other circuits connected to the I2C bus or belonging to the electronic device can be supplied at the same voltage or at different voltages.
  • circuits 11, 12 and 13 are connected to a wire or conductor 24 (terminals 117, 127) brought to an electrical potential VCC greater than that of the ground GND.
  • the wires 21 and 22 are individually connected by pull-up resistors Rp to the wire 24, so that the signals SDA and SCL are at rest in the high state.
  • one of the circuits acts as a master device (MD) and imposes the synchronization signal SCL.
  • the other circuit (s) 12 and 13 then take the status of slave (SD) to receive the data transmitted by the circuit 11 and respond to the circuit 11.
  • SD slave
  • These data can be intended for several slave circuits or just one of the circuits. between them.
  • the I2C protocol provides for transmitting a device address before a data byte. Depending on the direction of communication, the same circuit can sometimes have the status of master and sometimes the status of slave.
  • the circuits 11 and 12 for a transmission of data linked together on the I2C bus, contain transmission blocks 112 and 122 (T) as well as blocks 114 and 124 (R) of receive respectively to send and receive data through the SDA wire.
  • Each transmission block 112, 122 receives from a transmission functional block 116 or 126 ( ⁇ t) two pieces of information to be transmitted over the SDA wire.
  • Each block 116, 126 transforms a TDATA transmission datum to be transmitted via the I2C bus into two data linked together.
  • each reception block 114, 124, connected, preferably connected, to the SDA wire has two outputs connected to a block 118 or 128
  • Circuit 13 and any other slave circuits also contain blocks and links similar to those of circuits 11 and 12 previously described.
  • the functional blocks 116, 126, 118, 128 are not necessarily identical from one circuit to another.
  • the functional blocks 116, 126, 118, 128 can be hardware and / or software and be indifferently made up of circuits, software or memories (devices directly storing all the possible results from the 'application of the function ⁇ t or Î R implemented by the corresponding block 116,
  • FIG. 2 is a block diagram of a transmission-reception system for data linked on an I2C bus. Only the elements of the master circuit 11 dedicated to the transmission of data and the elements of the slave circuit 12 dedicated to the reception of data are included, these two circuit parts being connected together by the wire or conductor 21 of the bus I2C. To simplify the representation of FIG. 2, only part of the constituent elements of the circuit driving the wire 21 has been shown.
  • the other components of the master device and of the slave device are customary, in particular the elements generating the synchronization signal SCL imposed, by circuit 11, on terminal 113 connected to wire 22.
  • a data to be transmitted TDATA is first sent to an input of the functional block 116 of the circuit 11 for application of the function ⁇ t ⁇
  • the reception block 124 of the circuit 12 makes it possible to obtain at the output two data RDATA1 and RDATA2 coming from the two channels used for the transmission.
  • the functional block 128 of the circuit 12 processes the data RDATA1 and RDATA2 in order to obtain as output a single data item RDATA.
  • FIG. 3 represents timing diagrams illustrating the operation of the I2C bus.
  • the timing diagrams of FIG. 3 illustrate an example of the shape of the SCL signal, of a data signal DATA to be transmitted by a master device to one or more slave devices, of an S / R signal internal to the master device and the SDA signal.
  • the S / R signal symbolizes the phases during which the master circuit is in transmission mode (S) and imposes the state of the SDA signal and the phases during which it is in reception (R) and detects the state of the signal
  • the I2C protocol defines a communication start bit (START) by switching to the low state
  • the master device releases the SDA signal, which therefore returns to the high state, and positions its terminal 111 connected to the wire 21 in reading from the state of the SDA signal (S / R signal at the low state R).
  • the various slave circuits detect the start of a communication by monitoring the respective states of the signals SCL and SDA.
  • SDA serial tio
  • SCL serial retransmitter
  • SDA serial retransmitter decoder
  • the various slave circuits detect the data transmitted and, in particular, determine from the first byte constituting the address of the recipient whether the following byte or bytes are intended for them.
  • the slave circuit At the end of the first byte, the slave circuit, identified by the address, acknowledges receipt (ACK) of the transmitted byte by pulling the SDA signal low. This transition (instant t] _7) is detected by the master circuit which can then send the next byte and so on until the end of the transmission. For this transmission of the following byte (s), the master circuit switches the state of its port connected to wire 21 again to impose this state (signal S / R to the high state S).
  • the master circuit imposes a stop condition (STOP) by switching the SDA signal to the high state (instant tig) while the signal
  • FIG. 4 represents timing diagrams illustrating a multi-channel transmission on an I2C bus.
  • the timing diagrams of FIG. 4 illustrate an example of the shape of SCL and SDA signals imposed by a master circuit.
  • the signal SCL has been represented arbitrarily with a duty cycle different from 1/2.
  • FIG. 4 illustrates four examples 01, 10, 11, 00, of possible combinations between, on the one hand, the signal (state 1 or 0) of the main channel intended to convey the datum TDATA1 and on the other hand the signal (state 1 or 0) of the secondary channel intended to convey the linked datum TDATA2 on the I2C bus.
  • the data of the secondary channel are coded in the form of a pulse signal generated outside the period (high state of the signal SCL - instant t23 to instant t2l) of validation of the main data signal.
  • the I2C protocol provides time windows from the falling edge of the SCL synchronization signal.
  • a duration ty D (of around 200 ns for a 400 kHz protocol) fixes a minimum interval between the falling edge of the signal SCL (instant t2l) and the appearance of the coding of the next data item, and a maximum duration tcLQV (approximately 700-900 nm in the example above) between the presentation of the data (time t22) a nd the next rising edge (time t23) of the SCL signal.
  • the minimum duration of the low soaks of the SCL signal is also fixed: it is about 1.3 ys for a 400 kHz protocol (and about 4.7 ys for a 100 kHz protocol).
  • the secondary channel (TDATA2) is coded during the periods when the synchronization signal SCL is in the low state (having respected the duration t H ü) In the example shown, if a pulse (succession of a low state then a high state) is present, this corresponds to transmitting a state 1 on the secondary channel. On the other hand, if no pulse is present, this corresponds to transmitting a state 0 on the secondary channel.
  • a period of 700 - 900 ns separates the instant t22 from the instant t23 (duration during which the state of the SDA signal is not taken into account by the receivers of the I2C protocol).
  • This period is used for the pulse transmission of the secondary channel used to convey the linked datum TDATA2.
  • the duration of the pulse is between 300 ns and 500 ns for a 400 kHz protocol (and between 1.0 ys and 2.2 ys for a 100 kHz protocol).
  • the slave circuits are suitable for detecting these pulse signals.
  • FIG. 5 is a block diagram of an embodiment of a data transmission-reception system using an error correction mechanism (ECC).
  • ECC error correction mechanism
  • the block 116 applies an error correcting code (the function ⁇ t is an error correcting code) to a datum to be sent TDATA.
  • the result of applying the code to the TDATA data item constitutes TDATA2 data.
  • the data TDATA directly constitutes the data TDATA1.
  • the circuit 11 comprises a block 119 (ERR) which applies an error function to the data TDATA to provide a data item TDATA1 intentionally erroneous.
  • the number of bits of data TDATA1 falsified by the error function ERR is chosen to be in the range of number of bits that can be corrected by the error correcting code.
  • the block 112 of the circuit 11 transmits to the block 124 of the circuit 12 two data: on the one hand TDATA2 and on the other hand TDATA1 which represents, in the absence of the optional block 119, the data to be sent TDATA or, in presence of the optional block 119, the erroneous data.
  • the two data RDATA1 and RDATA2 obtained at the output of block 124 of circuit 12 are processed by block 128 (ECC ').
  • ECC ' The result of this processing produces RDATA data.
  • the block 128 applies to the data RDATA1 received an error correcting code ECC ′ corresponding to the code ECC, by using the data item RDATA2.
  • the function fp is an error correcting code.
  • the block 128 corrects any errors in the data RDATA1 received with respect to the data TDATA1 transmitted and then guarantees that the data RDATA corresponds to the TDATA data.
  • the application of the error correcting code ECC 'by the block 128 corrects the erroneous data, distorted by the block 119, so as to restore an RDATA datum corresponding to the TDATA datum.
  • the block 128 corrects the data RDATA1 thanks to the data RDATA2.
  • the correction, by the receiver circuit 12, of the error intentionally introduced by the transmitter circuit 11, means that the receiver circuit does indeed have the function of receiving and processing data on two channels and the function of error correction.
  • the receiver circuit does not have the function of receiving and processing data on two channels and the error correction function
  • the verification, by the transmitter circuit 11, of the RDATA data received by the receiver circuit shows a RDATA reception datum different from the transmitted TDATA datum.
  • Circuit 12 then does not reproduce the functionalities of the embodiment described.
  • the data TDATA2 represents the result of the application of a cryptographic function, for example a signature, to the data TDATA
  • the circuit 11 decodes the received signal and, if it includes the functionalities of this embodiment, is capable of processing the data of the two channels RDATA1 and RDATA2, and of verifying that a signature that it calculates (it then has a function ÎR applying the same signature calculation algorithm as the function ⁇ t of circuit 11) corresponds to the signature received on the datum RDATA2. Assuming a response mechanism according to which the sending circuit 11 waits for an acknowledgment representative of the signature obtained by the receiver, the fact that the circuit 12 sends back this acknowledgment then means that the circuit 12 reproduces the functionalities of the embodiment. described. According to yet another embodiment, the data TDATA1 and TDATA2 are identical and correspond to the data
  • the function ⁇ t is then a function of duplication of the TDATA data.
  • the ÎR function is for example a bit-by-bit combination function of the Exclusive-OR type, the expected result of which is a zero word (all the bits at state 0).
  • the detection of the fact that a slave circuit has the functionalities of this embodiment can be carried out by an exchange process according to which the master circuit waits in return for the result of the function ÎR. If it receives a zero word, this means that circuit 12 reproduces the functionalities of the embodiment described.
  • the data RDATA2 constitutes a mask that the receiver circuit is supposed to apply to the data RDATA1 that it receives in order to return an expected result.
  • the data TDATA2 the elaboration of which by the block 116 aims to allow a verification or a correction of the data RDATA1 received by the circuit 12, comprises a number of bits less than the number of bits of the data TDATA.
  • the length of the code conditions the number of bits that can be corrected.
  • FIG. 6 is a flow diagram of operations associated with the implementation of the principle of error correction between a transmitter and a receiver.
  • a receiver is capable of using multi-channel transmission and to correct any errors affecting the data sent by a transmitter.
  • the transmitter sends (SEND) to the receiver (RECEIVER) a command (SET CONFIG) for configuring the communication.
  • EXECUTE The taking into account (EXECUTE) of this command by the receiver enables it to be informed that the transmission on the I2C bus will be carried out on two channels and that the error correction function must be activated (CONFIG OK).
  • a second step the transmitter interrogates (REQ) the receiver by a status request (STATUS REQUEST).
  • the taking into account (EXECUTE) of this request by the receiver enables it to return (RESP) a status (STATUS) to the transmitter.
  • the control (CHECK) of this status by the transmitter makes it possible to verify that the transmission is correctly established (STATUS OK).
  • a recognition request HANDSHAKE REQUEST
  • This recognition request is preferably produced by introducing a deliberate error in the data to be transmitted as explained in relation to FIG. 5.
  • the acceptance (EXECUTE) of this request by the receiver allows it to return (RESP) the response (HANDSHAKE RESPONSE) expected by the sender.
  • the check (CHECK) of this response by the transmitter makes it possible to check whether the receiver is capable of implementing the error correction function (HANDSHAKE OK).
  • FIG. 7 illustrates an example of a connection between the electronic circuit of a printer and electronic circuits associated with ink cartridges.
  • a printer 31 contains a main circuit 312 dedicated in particular to the control of electromechanical components.
  • Printer 31 is equipped one or more ink cartridges, for example three ink cartridges 33, 35 and 37.
  • Each cartridge 33, 35, 37 carries a circuit, respectively 332, 352 and 372.
  • the four circuits 312, 332, 352 and 372 are interconnected by conductors, symbolized by a cable 320, compatible with a transmission respecting the I2C protocol.
  • the circuit 312 of the printer 31 acts as a master circuit while the circuits 332, 352 and 372 act as slave circuits.
  • the two-channel transmission may only be provided in the master-slave direction, the responses of the cartridges implementing a usual I2C transmission and the particular functions ⁇ t and Î R then being respectively provided only on the printer side. and cartridge side
  • FIG. 8 very schematically shows in the form of blocks an embodiment of an electronic circuit 8 suitable for implementing the embodiments described.
  • the electronic circuit 8 comprises:
  • PU digital processing units 81
  • PU digital processing units 81
  • RAM volatile
  • NVM non-volatile
  • bus 84 of data, addresses and / or commands between the various elements internal to the circuit 8;
  • I / O interfaces 85 for communication, among others, by an I2C bus with the outside of the circuit;
  • FCT various other circuits depending on the application, symbolized in FIG. 8 by blocks 86 (FCT).
  • FCT various other circuits depending on the application, symbolized in FIG. 8 by blocks 86 (FCT).
  • a storage medium of the device or of the equipment concerned can store instructions of a computer program product which, when they are implemented by a processor equipping the device or equipment, cause the processor to implement all or part of the method described.
  • the practical implementation of the embodiments and variants described is within the abilities of those skilled in the art based on the functional indications given above.
  • the choice of the length and the nature of the error correction code can vary depending on the application.
  • the embodiments described make more particular reference to a system in which the master (printer) and slave (cartridge) functions are fixed, the transposition of the embodiments described to a system in which all the circuits can play a role of master or slave (figure 1) is within the reach of those skilled in the art from the above description.

Abstract

The present application relates to a transmission method on an I2C bus, in which method a first channel of the data signal conveys a first datum (TDATA1, RDATA1) and a second channel of the same data signal conveys a second datum (TDATA2, RDATA2), said two data being linked together.

Description

DESCRIPTION DESCRIPTION
Transmission de données liées sur bus I2C Transmission of linked data on I2C bus
La présente demande de brevet revendique la priorité de la demande de brevet français FR19/01844 qui sera considérée comme faisant partie intégrante de la présente description.The present patent application claims the priority of the French patent application FR19 / 01844 which will be considered as forming an integral part of the present description.
Domaine technique Technical area
[0001] La présente description concerne de façon générale les circuits électroniques et, plus particulièrement, les systèmes dans lesquels plusieurs circuits sont susceptibles de communiquer sur un bus I2C. The present description relates generally to electronic circuits and, more particularly, to systems in which several circuits are capable of communicating on an I2C bus.
Technique antérieure Prior art
[0002] Le protocole I2C utilise, outre un signal de référence (généralement la masse) représentant l'un des deux états des signaux binaires, un signal de données (SDA) et un signal d'horloge ou de synchronisation (SCL) . [0002] The I2C protocol uses, besides a reference signal (generally ground) representing one of the two states of the binary signals, a data signal (SDA) and a clock or synchronization signal (SCL).
[0003] Le protocole I2C est utilisé pour communiquer entre un dispositif ou circuit maître, qui génère le signal de synchronisation sur un fil d'horloge ainsi que le signal de données sur un fil de données, et un dispositif ou circuit esclave qui répond sur le signal de données. Le dispositif esclave (récepteur) génère un bit d'accusé réception qu'il transmet sur le fil de données. En pratique, les conducteurs du bus sont, au repos, à un potentiel différent du potentiel de référence, ce deuxième potentiel représentant l'autre des deux états des signaux binaires. [0003] The I2C protocol is used to communicate between a device or master circuit, which generates the synchronization signal on a clock wire as well as the data signal on a data wire, and a slave device or circuit which responds on the data signal. The slave device (receiver) generates an acknowledgment bit that it transmits over the data wire. In practice, the conductors of the bus are, at rest, at a potential different from the reference potential, this second potential representing the other of the two states of the binary signals.
Résumé de 11 invention Summary of 1 1 invention
[0004] Il serait souhaitable de pouvoir profiter de la présence d'un bus I2C pour permettre l'authentification d'accessoires ou de consommables par un équipement. [0004] It would be desirable to be able to take advantage of the presence of an I2C bus to allow the authentication of accessories or consumables by equipment.
[0005] Un mode de réalisation pallie tout ou partie des inconvénients des processus d'authentification connus. [0006] Un mode de réalisation prévoit un procédé de transmission sur bus I2C, dans lequel un premier canal du signal de données véhicule une première donnée et un deuxième canal du même signal de données véhicule une deuxième donnée, ces deux données étant liées entre elles. [0005] One embodiment overcomes all or part of the drawbacks of known authentication processes. [0006] One embodiment provides for a transmission method on an I2C bus, in which a first channel of the data signal conveys a first datum and a second channel of the same data signal conveys a second datum, these two data being linked together .
[0007] Un mode de réalisation prévoit un circuit de communication sur bus I2C, comportant des circuits adaptés à mettre en œuvre le procédé décrit. [0007] One embodiment provides for a communication circuit on an I2C bus, comprising circuits suitable for implementing the method described.
[0008] Un mode de réalisation prévoit un produit programme d'ordinateur, comportant un support de stockage non transitoire comprenant des instructions adaptées à mettre en œuvre le procédé décrit. [0008] One embodiment provides for a computer program product, comprising a non-transient storage medium comprising instructions suitable for implementing the method described.
[0009] Un mode de réalisation prévoit un circuit mémoire contenant une table de correspondance entre un ensemble de premières données et un ensemble de deuxièmes données. [0009] One embodiment provides a memory circuit containing a correspondence table between a set of first data and a set of second data.
[0010] Selon un mode de réalisation, la deuxième donnée dépend de la première donnée. [0010] According to one embodiment, the second datum depends on the first datum.
[0011] Selon un mode de réalisation, la deuxième donnée représente l'application d'un code correcteur à la première donnée . [0011] According to one embodiment, the second datum represents the application of a corrective code to the first datum.
[0012] Selon un mode de réalisation, la deuxième donnée est un masque. [0012] According to one embodiment, the second data item is a mask.
[0013] Selon un mode de réalisation, la deuxième donnée est identique à la première donnée. According to one embodiment, the second datum is identical to the first datum.
[0014] Selon un mode de réalisation, en émission, une fonction d'émission est appliquée à une donnée d'émission : [0014] According to one embodiment, in transmission, a transmission function is applied to transmission data:
la première donnée correspondant à la donnée d'émission ou au résultat de l'application de la fonction d'émission à la donnée d'émission ; et the first data item corresponding to the transmission data or to the result of the application of the transmission function to the transmission data; and
la deuxième donnée correspondant à la donnée d'émission, ou au résultat de l'application de la fonction d'émission à la donnée d'émission ou à un masque appliqué à la donnée d'émission pour obtenir la première donnée. the second datum corresponding to the transmission datum, or to the result of the application of the function transmission to the transmission data or to a mask applied to the transmission data to obtain the first data.
[0015] Selon un mode de réalisation, un émetteur transmet la donnée d'émission via la première donnée, la deuxième donnée représentant une information de vérification ou de correction de la première donnée par un récepteur. [0015] According to one embodiment, a transmitter transmits the transmission datum via the first datum, the second datum representing verification or correction information for the first datum by a receiver.
[0016] Selon un mode de réalisation, un émetteur masque la donnée d'émission puis transmet le résultat via la première donnée, la deuxième donnée représentant une information de démasquage de la première donnée par un récepteur. [0016] According to one embodiment, a transmitter masks the transmission datum and then transmits the result via the first datum, the second datum representing unmasking information of the first datum by a receiver.
[0017] Selon un mode de réalisation, en réception, une fonction de réception est appliquée aux première et deuxième données et fournit une donnée de réception, la donnée de réception correspondant à la première donnée ou au résultat de l'application de la fonction de réception. According to one embodiment, on reception, a reception function is applied to the first and second data and provides reception data, the reception data corresponding to the first data or to the result of the application of the function. reception.
[0018] Selon un mode de réalisation, une information représentative de la donnée de réception est retournée à un circuit émetteur. [0018] According to one embodiment, information representative of the reception data item is returned to a transmitter circuit.
[0019] Un mode de réalisation prévoit un système de transmission sur un bus I2C comportant au moins deux dispositifs, au moins un des dispositifs : One embodiment provides a transmission system on an I2C bus comprising at least two devices, at least one of the devices:
étant adapté à mettre en œuvre le procédé décrit ; et/ou being suitable for implementing the method described; and or
comportant un circuit de communication tel que décrit ; et/ou comprising a communication circuit as described; and or
comportant un produit programme tel que décrit ; et/ou comportant un circuit mémoire tel que décrit. comprising a program product as described; and / or comprising a memory circuit as described.
[0020] Un mode de réalisation prévoit un émetteur d'un tel système . [0020] One embodiment provides for a transmitter of such a system.
[0021] Un mode de réalisation prévoit un récepteur d'un tel système . [0022] Un mode de réalisation prévoit un émetteur-récepteur d'un tel système. One embodiment provides a receiver of such a system. One embodiment provides for a transceiver of such a system.
Brève description des dessins Brief description of the drawings
[0023] Ces caractéristiques et avantages, ainsi que d'autres, seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non limitatif en relation avec les figures jointes parmi lesquelles : These characteristics and advantages, as well as others, will be explained in detail in the following description of particular embodiments given without limitation in relation to the accompanying figures, among which:
[0024] la figure 1 représente, de façon très schématique et sous forme de blocs, un mode de réalisation d'un système utilisant un bus I2C pour transmettre des données liées entre elles ; FIG. 1 very schematically shows in the form of blocks an embodiment of a system using an I2C bus to transmit data linked together;
[0025] la figure 2 est un schéma-blocs d'un système d'émission-réception de données liées sur un bus I2C ; [0025] FIG. 2 is a block diagram of a transmission-reception system for data linked on an I2C bus;
[0026] la figure 3 représente des chronogrammes illustrant le fonctionnement du bus I2C ; [0026] FIG. 3 represents timing diagrams illustrating the operation of the I2C bus;
[0027] la figure 4 représente des chronogrammes illustrant une transmission multi-canal sur un bus I2C ; FIG. 4 represents timing diagrams illustrating a multi-channel transmission on an I2C bus;
[0028] la figure 5 est un schéma-blocs d'un mode de réalisation d'un système d'émission-réception de données utilisant un mécanisme de correction d'erreur (ECC) ; FIG. 5 is a block diagram of one embodiment of a data transmission-reception system using an error correction mechanism (ECC);
[0029] la figure 6 est un diagramme d'enchaînement d'opérations associées à la mise en œuvre du mécanisme de correction d'erreur entre un émetteur et un récepteur ; [0029] FIG. 6 is a flow diagram of operations associated with the implementation of the error correction mechanism between a transmitter and a receiver;
[0030] la figure 7 illustre un exemple de liaison entre un circuit électronique associé à une imprimante et des circuits électroniques associés à des cartouches d'encre ; et [0030] FIG. 7 illustrates an example of a connection between an electronic circuit associated with a printer and electronic circuits associated with ink cartridges; and
[0031] la figure 8 représente, de façon très schématique et sous forme de blocs, un mode de réalisation d'un circuit électronique adapté à mettre en œuvre les modes de réalisation décrits . Description des modes de réalisation [0031] FIG. 8 very schematically shows in the form of blocks an embodiment of an electronic circuit suitable for implementing the embodiments described. Description of embodiments
[0032] De mêmes éléments ont été désignés par de mêmes références dans les différentes figures. En particulier, les éléments structurels et/ou fonctionnels communs aux différents modes de réalisation peuvent présenter les mêmes références et peuvent disposer de propriétés structurelles, dimensionnelles et matérielles identiques. The same elements have been designated by the same references in the various figures. In particular, the structural and / or functional elements common to the different embodiments may have the same references and may have identical structural, dimensional and material properties.
[0033] Par souci de clarté, seuls les étapes et éléments utiles à la compréhension des modes de réalisation décrits ont été représentés et sont détaillés. En particulier, la génération des signaux en fonction des données à émettre sur un bus I2C et la réception de ces signaux par un circuit de réception n'ont pas été détaillées, les modes de réalisation décrits étant compatibles avec les transmissions usuelles entre deux ou plusieurs circuits sur un bus I2C. For the sake of clarity, only the steps and elements useful for understanding the embodiments described have been shown and are detailed. In particular, the generation of the signals as a function of the data to be transmitted on an I2C bus and the reception of these signals by a reception circuit have not been detailed, the embodiments described being compatible with the usual transmissions between two or more. circuits on an I2C bus.
[0034] Sauf précision contraire, lorsque l'on fait référence à deux éléments connectés entre eux, cela signifie directement connectés sans éléments intermédiaires autres que des conducteurs, et lorsque l'on fait référence à deux éléments reliés ou couplés entre eux, cela signifie que ces deux éléments peuvent être connectés ou être reliés ou couplés par l'intermédiaire d'un ou plusieurs autres éléments. Unless otherwise specified, when referring to two elements connected together, this means directly connected without intermediate elements other than conductors, and when referring to two elements connected or coupled together, it means that these two elements can be connected or be linked or coupled through one or more other elements.
[0035] Dans la description qui suit, lorsque l'on fait référence à des qualificatifs de position absolue, tels que les termes "avant", "arrière", "haut", "bas", "gauche", "droite", etc., ou relative, tels que les termes "dessus", "dessous", "supérieur", "inférieur", etc., ou à des qualificatifs d'orientation, tels que les termes "horizontal", "vertical", etc., il est fait référence sauf précision contraire à l'orientation des figures. [0036] Sauf précision contraire, les expressions "environ", "approximativement", "sensiblement", et "de l'ordre de" signifient à 10 % près, de préférence à 5 % près. In the following description, when reference is made to absolute position qualifiers, such as the terms "front", "rear", "top", "bottom", "left", "right", etc., or relative, such as the terms "above", "below", "upper", "lower", etc., or to orientation qualifiers, such as the terms "horizontal", "vertical", etc. ., Reference is made unless otherwise specified in the orientation of the figures. Unless otherwise specified, the expressions "approximately", "approximately", "substantially", and "of the order of" mean within 10%, preferably within 5%.
[0037] La figure 1 représente, de façon très schématique et sous forme de blocs, un mode de réalisation d'un système utilisant un bus I2C pour transmettre des données liées entre elles . FIG. 1 very schematically shows in the form of blocks an embodiment of a system using an I2C bus for transmitting data linked together.
[0038] Un bus I2C se compose de deux fils ou conducteurs 21 et 22 destinés à véhiculer, respectivement, un signal de données SDA et un signal de synchronisation SCL. An I2C bus consists of two wires or conductors 21 and 22 intended to convey, respectively, an SDA data signal and an SCL synchronization signal.
[0039] Plusieurs circuits 11, 12, 13 sont reliés, de préférence connectés, au fil 21 (bornes 111, 121) de transmission du signal de données SDA, au fil 22 (bornes 113, 123) de transmission du signal de synchronisation ou d'horloge SCL, et à un fil ou conducteur 23 (bornes 115, 125) porté à un potentiel électrique de référence (typiquement la masse, GND) . Les circuits 11, 12, 13 et autres circuits connectés au bus I2C ou appartenant au dispositif électronique peuvent être alimentés sous une même tension ou sous des tensions différentes. Par exemple, les circuits 11, 12 et 13 sont connectés à un fil ou conducteur 24 (bornes 117, 127) porté à un potentiel électrique VCC supérieur à celui de la masse GND. Les fils 21 et 22 sont individuellement reliés par des résistances de tirage (pull-up) Rp au fil 24, de sorte que les signaux SDA et SCL sont au repos à l'état haut. Several circuits 11, 12, 13 are connected, preferably connected, to wire 21 (terminals 111, 121) for transmitting the SDA data signal, to wire 22 (terminals 113, 123) for transmitting the synchronization signal or SCL clock, and to a wire or conductor 23 (terminals 115, 125) brought to a reference electric potential (typically ground, GND). The circuits 11, 12, 13 and other circuits connected to the I2C bus or belonging to the electronic device can be supplied at the same voltage or at different voltages. For example, circuits 11, 12 and 13 are connected to a wire or conductor 24 (terminals 117, 127) brought to an electrical potential VCC greater than that of the ground GND. The wires 21 and 22 are individually connected by pull-up resistors Rp to the wire 24, so that the signals SDA and SCL are at rest in the high state.
[0040] Pour une transmission de données sur le bus I2C, un des circuits (par exemple, le circuit 11) fait office de dispositif maître (MD) et impose le signal de synchronisation SCL. Le ou les autres circuits 12 et 13 prennent alors le statut d'esclave (SD) pour recevoir les données transmises par le circuit 11 et répondre au circuit 11. Ces données peuvent être à destination de plusieurs circuits esclaves ou d'un seul d'entre eux. Le protocole I2C prévoit de transmettre une adresse de dispositif avant un octet de données. Selon le sens de communication, un même circuit peut tantôt avoir le statut de maître et tantôt le statut d'esclave. For data transmission on the I2C bus, one of the circuits (for example, circuit 11) acts as a master device (MD) and imposes the synchronization signal SCL. The other circuit (s) 12 and 13 then take the status of slave (SD) to receive the data transmitted by the circuit 11 and respond to the circuit 11. These data can be intended for several slave circuits or just one of the circuits. between them. The I2C protocol provides for transmitting a device address before a data byte. Depending on the direction of communication, the same circuit can sometimes have the status of master and sometimes the status of slave.
[0041] Selon un mode de réalisation, pour une transmission de données liées entre elles sur le bus I2C, les circuits 11 et 12 contiennent des blocs 112 et 122 (T) d'émission ainsi que des blocs 114 et 124 (R) de réception servant respectivement à envoyer et à recevoir des données par l'intermédiaire du fil SDA. Chaque bloc 112, 122, d'émission reçoit d'un bloc 116 ou 126 (ίt) fonctionnel d'émission deux informations à transmettre sur le fil SDA. Chaque bloc 116, 126 transforme une donnée d'émission TDATA à transmettre via le bus I2C en deux données liées entre elles. En outre, chaque bloc de réception 114, 124, relié, de préférence connecté, au fil SDA, comporte deux sorties reliées à un bloc 118 ou 128 According to one embodiment, for a transmission of data linked together on the I2C bus, the circuits 11 and 12 contain transmission blocks 112 and 122 (T) as well as blocks 114 and 124 (R) of receive respectively to send and receive data through the SDA wire. Each transmission block 112, 122 receives from a transmission functional block 116 or 126 (ίt) two pieces of information to be transmitted over the SDA wire. Each block 116, 126 transforms a TDATA transmission datum to be transmitted via the I2C bus into two data linked together. In addition, each reception block 114, 124, connected, preferably connected, to the SDA wire, has two outputs connected to a block 118 or 128
R) fonctionnel de réception permettant de reconstituer une donnée de réception RDATA à partir des deux données liées entre elles reçues via le bus I2C. Le circuit 13 et les éventuels autres circuits esclaves (non représentés) contiennent eux aussi des blocs et des liaisons semblables à ceux des circuits 11 et 12 précédemment décrits. Les blocs fonctionnels 116, 126, 118, 128 ne sont pas nécessairement identiques d'un circuit à l'autre. R) reception functional making it possible to reconstitute a reception datum RDATA from the two data linked together received via the I2C bus. Circuit 13 and any other slave circuits (not shown) also contain blocks and links similar to those of circuits 11 and 12 previously described. The functional blocks 116, 126, 118, 128 are not necessarily identical from one circuit to another.
[0042] Selon des modes de réalisation particuliers, les blocs fonctionnels 116, 126, 118, 128 peuvent être matériels et/ou logiciels et être indifféremment constitués de circuits, de logiciels ou de mémoires (dispositifs stockant directement tous les résultats possibles issus de l'application de la fonction ίt ou ÎR mise en œuvre par le bloc correspondant 116,According to particular embodiments, the functional blocks 116, 126, 118, 128 can be hardware and / or software and be indifferently made up of circuits, software or memories (devices directly storing all the possible results from the 'application of the function ίt or Î R implemented by the corresponding block 116,
126 ou 118, 128) . 126 or 118, 128).
[0043] La figure 2 est un schéma-blocs d'un système d'émission-réception de données liées sur un bus I2C. [0044] Seuls les éléments du circuit maître 11 dédiés à l'émission de données et les éléments du circuit esclave 12 dédiés à la réception de données sont repris, ces deux parties de circuit étant connectées entre elles par le fil ou conducteur 21 du bus I2C. Pour simplifier la représentation de la figure 2, seule une partie des éléments constitutifs du circuit pilotant le fil 21 a été représentée. Les autres constituants du dispositif maître et du dispositif esclave sont usuels, notamment les éléments générant le signal de synchronisation SCL imposé, par le circuit 11, sur la borne 113 connectée au fil 22. FIG. 2 is a block diagram of a transmission-reception system for data linked on an I2C bus. Only the elements of the master circuit 11 dedicated to the transmission of data and the elements of the slave circuit 12 dedicated to the reception of data are included, these two circuit parts being connected together by the wire or conductor 21 of the bus I2C. To simplify the representation of FIG. 2, only part of the constituent elements of the circuit driving the wire 21 has been shown. The other components of the master device and of the slave device are customary, in particular the elements generating the synchronization signal SCL imposed, by circuit 11, on terminal 113 connected to wire 22.
[0045] Une donnée à émettre TDATA est d'abord envoyée sur une entrée du bloc fonctionnel 116 du circuit 11 pour application de la fonction ίt· En résultent deux données corrélées (ou liées) TDATA1 et TDATA2 qui sont ensuite transmises sur le fil 21 par le bloc d'émission 112 du circuit 11. Cela s'apparente à une transmission de deux canaux temporellement distincts sur le signal SDA, un premier canal véhiculant la donnée TDATA1 et un deuxième canal véhiculant la donnée TDATA2 A data to be transmitted TDATA is first sent to an input of the functional block 116 of the circuit 11 for application of the function ίt · This results in two correlated (or linked) data TDATA1 and TDATA2 which are then transmitted over the wire 21 by the transmission block 112 of the circuit 11. This is similar to a transmission of two temporally distinct channels on the SDA signal, a first channel carrying the data TDATA1 and a second channel carrying the data TDATA2
[0046] À partir de la borne 121 reliée au fil 21, le bloc de réception 124 du circuit 12 permet alors d'obtenir en sortie deux données RDATA1 et RDATA2 provenant des deux canaux mis en œuvre pour la transmission. Enfin, le bloc fonctionnel 128 du circuit 12 traite les données RDATA1 et RDATA2 afin d'obtenir en sortie une seule donnée RDATA. From the terminal 121 connected to the wire 21, the reception block 124 of the circuit 12 then makes it possible to obtain at the output two data RDATA1 and RDATA2 coming from the two channels used for the transmission. Finally, the functional block 128 of the circuit 12 processes the data RDATA1 and RDATA2 in order to obtain as output a single data item RDATA.
[0047] La figure 3 représente des chronogrammes illustrant le fonctionnement du bus I2C. FIG. 3 represents timing diagrams illustrating the operation of the I2C bus.
[0048] Les chronogrammes de la figure 3 illustrent un exemple d'allures du signal SCL, d'un signal de données DATA à transmettre par un dispositif maître vers un ou plusieurs dispositifs esclaves, d'un signal S/R interne au dispositif maître et du signal SDA. Le signal S/R symbolise les phases pendant lesquelles le circuit maître est en mode émission (S) et impose l'état du signal SDA et les phases pendant lesquelles il est en réception (R) et détecte l'état du signalThe timing diagrams of FIG. 3 illustrate an example of the shape of the SCL signal, of a data signal DATA to be transmitted by a master device to one or more slave devices, of an S / R signal internal to the master device and the SDA signal. The S / R signal symbolizes the phases during which the master circuit is in transmission mode (S) and imposes the state of the SDA signal and the phases during which it is in reception (R) and detects the state of the signal
SDA. Dans l'exemple de la figure 3, on suppose un signal de synchronisation périodique et de rapport cyclique 1/2, ce qui n'est pas obligatoire. SDA. In the example of FIG. 3, a periodic synchronization signal and a duty cycle 1/2 is assumed, which is not compulsory.
[0049] Le protocole I2C définit un bit de début de communication (START) par une commutation vers l'état bas The I2C protocol defines a communication start bit (START) by switching to the low state
(instant tio) du signal SDA alors que le signal SCL reste à l'état haut. Cette commutation est provoquée par celui des dispositifs qui prend le statut de maître pour la communication. Le dispositif maître commute alors le signal(instant tio) of the SDA signal while the SCL signal remains high. This switching is caused by which of the devices assumes the status of master for communication. The master device then switches the signal
SCL au niveau bas (instant tu) . Puis, il impose l'état du signal SDA en fonction de l'état du premier bit B0 de l'octet (BYTE) à transmettre. L'état du signal SDA est validé par la période (instant ti3 à instant t]_4) à l'état haut du signalSCL at low level (instant tu). Then, it imposes the state of the SDA signal as a function of the state of the first bit B0 of the byte (BYTE) to be transmitted. The state of the SDA signal is validated by the period (time ti3 at time t] _4) at the high state of the signal
SCL. Lorsque le signal SCL revient à l'état bas, le circuit maître continue l'opération avec les bits suivants Bl, ... B7, jusqu'à transmission de l'octet complet. SCL. When the signal SCL returns to the low state, the master circuit continues the operation with the following bits Bl, ... B7, until transmission of the complete byte.
[0050] À la fin du dernier bit B7 (instant t]_6) du premier octet, le dispositif maître relâche le signal SDA, qui revient donc à l'état haut, et positionne sa borne 111 reliée au fil 21 en lecture de l'état du signal SDA (signal S/R à l'état bas R) . At the end of the last bit B7 (time t] _6) of the first byte, the master device releases the SDA signal, which therefore returns to the high state, and positions its terminal 111 connected to the wire 21 in reading from the state of the SDA signal (S / R signal at the low state R).
[0051] Les différents circuits esclaves détectent le début d'une communication en surveillant les états respectifs des signaux SCL et SDA. Lorsque le signal SDA est tiré à l'état bas (instant tio) alors que le signal SCL reste à l'état haut, les dispositifs esclaves savent qu'une transmission va débuter . [0052] Le plus souvent, le premier octet envoyé par le dispositif maître comporte sept bits d'adresse identifiant le circuit destinataire, suivi d'un bit indicateur de l'opération (lecture-écriture) souhaitée par le dispositif maître . The various slave circuits detect the start of a communication by monitoring the respective states of the signals SCL and SDA. When the SDA signal is pulled low (instant tio) while the SCL signal remains high, the slave devices know that a transmission will start. Most often, the first byte sent by the master device comprises seven address bits identifying the destination circuit, followed by a bit indicating the operation (read-write) desired by the master device.
[0053] Les différents circuits esclaves détectent les données transmises et, notamment, déterminent à partir du premier octet constituant l'adresse du destinataire si le ou les octets suivants leur sont destinés. The various slave circuits detect the data transmitted and, in particular, determine from the first byte constituting the address of the recipient whether the following byte or bytes are intended for them.
[0054] À la fin du premier octet, le circuit esclave, identifié par l'adresse, accuse réception (ACK) de l'octet transmis en tirant le signal SDA à l'état bas. Cette transition (instant t]_7) est détectée par le circuit maître qui peut alors émettre l'octet suivant et ainsi de suite jusqu'à la fin de la transmission. Pour cette émission du ou des octets suivants, le circuit maître rebascule l'état de son port relié au fil 21 pour imposer cet état (signal S/R à 1 ' état haut S ) . At the end of the first byte, the slave circuit, identified by the address, acknowledges receipt (ACK) of the transmitted byte by pulling the SDA signal low. This transition (instant t] _7) is detected by the master circuit which can then send the next byte and so on until the end of the transmission. For this transmission of the following byte (s), the master circuit switches the state of its port connected to wire 21 again to impose this state (signal S / R to the high state S).
[0055] Une fois le dernier octet de données transmis et un accusé réception ACK reçu du circuit esclave, le circuit maître impose une condition d'arrêt (STOP) en commutant le signal SDA à l'état haut (instant tig) alors que le signal Once the last data byte transmitted and an ACK acknowledgment received from the slave circuit, the master circuit imposes a stop condition (STOP) by switching the SDA signal to the high state (instant tig) while the signal
SCL est lui-même à l'état haut. SCL itself is high.
[0056] La figure 4 représente des chronogrammes illustrant une transmission multi-canal sur un bus I2C. FIG. 4 represents timing diagrams illustrating a multi-channel transmission on an I2C bus.
[0057] Les chronogrammes de la figure 4 illustrent un exemple d'allures de signaux SCL et SDA imposés par un circuit maître. Dans l'exemple de la figure 4, le signal SCL a été représenté arbitrairement avec un rapport cyclique différent de 1/2. The timing diagrams of FIG. 4 illustrate an example of the shape of SCL and SDA signals imposed by a master circuit. In the example of FIG. 4, the signal SCL has been represented arbitrarily with a duty cycle different from 1/2.
[0058] La figure 4 illustre quatre exemples 01, 10, 11, 00, de combinaisons possibles entre d'une part le signal (état 1 ou 0) du canal principal destiné à véhiculer la donnée TDATA1 et d'autre part le signal (état 1 ou 0) du canal secondaire destiné à véhiculer la donnée liée TDATA2 sur le bus I2C. Les données du canal secondaire sont codées sous la forme d'un signal impulsionnel généré en dehors de la période (état haut du signal SCL - instant t23 à instant t2l) de validation du signal principal de données. FIG. 4 illustrates four examples 01, 10, 11, 00, of possible combinations between, on the one hand, the signal (state 1 or 0) of the main channel intended to convey the datum TDATA1 and on the other hand the signal (state 1 or 0) of the secondary channel intended to convey the linked datum TDATA2 on the I2C bus. The data of the secondary channel are coded in the form of a pulse signal generated outside the period (high state of the signal SCL - instant t23 to instant t2l) of validation of the main data signal.
[0059] Le protocole I2C prévoit des fenêtres temporelles à partir du front descendant du signal de synchronisation SCL. The I2C protocol provides time windows from the falling edge of the SCL synchronization signal.
Typiquement, une durée tyD (d'environ 200 ns pour un protocole à 400 kHz) fixe un intervalle minimum entre le front descendant du signal SCL (instant t2l) et l'apparition du codage de la donnée suivante, et une durée maximum tcLQV (d'environ 700 - 900 ns dans l'exemple ci-dessus) entre la présentation de la donnée (instant t22) et le front montant suivant (instant t23) du signal SCL. La durée minimale des paliers bas du signal SCL est également fixée : elle est d'environ 1,3 ys pour un protocole à 400 kHz (et d'environ 4,7 ys pour un protocole à 100 kHz) . L'intervalle (instant t22 à instant t23) entre l'apparition du codage et le front montant du signal SCL laisse un intervalle libre dans le protocole I2C. On code le canal secondaire (TDATA2) pendant les périodes où le signal de synchronisation SCL est à l'état bas (en ayant respecté la durée tHü) · Dans l'exemple représenté, si une impulsion (succession d'un état bas puis d'un état haut) est présente, cela correspond à transmettre un état 1 sur le canal secondaire. En revanche, si aucune impulsion n'est présente cela correspond à transmettre un état 0 sur le canal secondaire. [0060] On tire ainsi profit de l'existence d'une période inexploitée dans le bus I2C. Typiquement, dans un protocole I2C à une fréquence de 400 kHz, une période de 700 - 900 ns sépare l'instant t22 de l'instant t23 (durée pendant laquelle l'état du signal SDA n'est pas pris en compte par les récepteurs du protocole I2C) . Cette période est mise à profit pour la transmission impulsionnelle du canal secondaire servant à véhiculer la donnée liée TDATA2. La durée de l'impulsion est comprise entre 300 ns et 500 ns pour un protocole à 400 kHz (et entre 1,0 ys et 2,2 ys pour un protocole à 100 kHz) . Typically, a duration ty D (of around 200 ns for a 400 kHz protocol) fixes a minimum interval between the falling edge of the signal SCL (instant t2l) and the appearance of the coding of the next data item, and a maximum duration tcLQV (approximately 700-900 nm in the example above) between the presentation of the data (time t22) a nd the next rising edge (time t23) of the SCL signal. The minimum duration of the low soaks of the SCL signal is also fixed: it is about 1.3 ys for a 400 kHz protocol (and about 4.7 ys for a 100 kHz protocol). The interval (time t22 to time t23) between the appearance of the coding and the rising edge of the signal SCL leaves a free interval in the I2C protocol. The secondary channel (TDATA2) is coded during the periods when the synchronization signal SCL is in the low state (having respected the duration t H ü) In the example shown, if a pulse (succession of a low state then a high state) is present, this corresponds to transmitting a state 1 on the secondary channel. On the other hand, if no pulse is present, this corresponds to transmitting a state 0 on the secondary channel. One thus takes advantage of the existence of an unexploited period in the I2C bus. Typically, in an I2C protocol at a frequency of 400 kHz, a period of 700 - 900 ns separates the instant t22 from the instant t23 (duration during which the state of the SDA signal is not taken into account by the receivers of the I2C protocol). This period is used for the pulse transmission of the secondary channel used to convey the linked datum TDATA2. The duration of the pulse is between 300 ns and 500 ns for a 400 kHz protocol (and between 1.0 ys and 2.2 ys for a 100 kHz protocol).
[0061] Les circuits esclaves sont adaptés pour détecter ces signaux impulsionnels. The slave circuits are suitable for detecting these pulse signals.
[0062] La figure 5 est un schéma-blocs d'un mode de réalisation d'un système d'émission-réception de données utilisant un mécanisme de correction d'erreur (ECC) . FIG. 5 is a block diagram of an embodiment of a data transmission-reception system using an error correction mechanism (ECC).
[0063] Selon ce mode de réalisation, le bloc 116 (ECC) applique un code correcteur d'erreur (la fonction ίt est un code correcteur d'erreur) à une donnée à émettre TDATA. Le résultat de l'application du code à la donnée TDATA constitue une donnée TDATA2. According to this embodiment, the block 116 (ECC) applies an error correcting code (the function ίt is an error correcting code) to a datum to be sent TDATA. The result of applying the code to the TDATA data item constitutes TDATA2 data.
[0064] Selon un mode de réalisation, la donnée TDATA constitue directement la donnée TDATA1. According to one embodiment, the data TDATA directly constitutes the data TDATA1.
[0065] Selon un autre mode de réalisation préféré, le circuit 11 comporte un bloc 119 (ERR) qui applique une fonction d'erreur à la donnée TDATA pour fournir une donnée TDATA1 volontairement erronée. Le nombre de bits de la donnée TDATA1 faussés par la fonction d'erreur ERR est choisi pour être dans la plage de nombre de bits corrigeable par le code correcteur d'erreur. [0066] Le bloc 112 du circuit 11 transmet au bloc 124 du circuit 12 deux données : d'une part TDATA2 et d'autre part TDATA1 qui représente, en l'absence du bloc optionnel 119, la donnée à émettre TDATA ou, en présence du bloc optionnel 119, la donnée erronée. According to another preferred embodiment, the circuit 11 comprises a block 119 (ERR) which applies an error function to the data TDATA to provide a data item TDATA1 intentionally erroneous. The number of bits of data TDATA1 falsified by the error function ERR is chosen to be in the range of number of bits that can be corrected by the error correcting code. The block 112 of the circuit 11 transmits to the block 124 of the circuit 12 two data: on the one hand TDATA2 and on the other hand TDATA1 which represents, in the absence of the optional block 119, the data to be sent TDATA or, in presence of the optional block 119, the erroneous data.
[0067] Les deux données RDATA1 et RDATA2 obtenues en sortie du bloc 124 du circuit 12 sont traitées par le bloc 128 (ECC' ) . Le résultat de ce traitement produit une donnée RDATA. Dans l'exemple représenté, on suppose que le bloc 128 applique à la donnée RDATA1 reçue un code correcteur d'erreur ECC' correspondant au code ECC, en utilisant la donnée RDATA2. En d'autres termes, la fonction fp est un code correcteur d' erreur . The two data RDATA1 and RDATA2 obtained at the output of block 124 of circuit 12 are processed by block 128 (ECC '). The result of this processing produces RDATA data. In the example shown, it is assumed that the block 128 applies to the data RDATA1 received an error correcting code ECC ′ corresponding to the code ECC, by using the data item RDATA2. In other words, the function fp is an error correcting code.
[0068] Selon un mode de réalisation (dans le cas où le circuit 11 est dépourvu du bloc 119), le bloc 128 corrige d'éventuelles erreurs dans la donnée RDATA1 reçue par rapport à la donnée TDATA1 transmise et garantit alors que la donnée RDATA correspond à la donnée TDATA. According to one embodiment (in the case where the circuit 11 does not have the block 119), the block 128 corrects any errors in the data RDATA1 received with respect to the data TDATA1 transmitted and then guarantees that the data RDATA corresponds to the TDATA data.
[0069] Selon un autre mode de réalisation dans lequel une erreur est introduite dans la donnée TDATA1 par le bloc 119, l'application du code correcteur d'erreur ECC' par le bloc 128 corrige la donnée erronée, faussée par le bloc 119, de façon à restituer une donnée RDATA correspondant à la donnée TDATA. Ainsi, le bloc 128 corrige la donnée RDATA1 grâce à la donnée RDATA2. Selon ce mode de réalisation, la correction, par le circuit récepteur 12, de l'erreur volontairement introduite par le circuit émetteur 11, signifie que le circuit récepteur possède bien la fonction de réception et de traitement des données sur deux canaux et la fonction de correction d'erreur. According to another embodiment in which an error is introduced into the data TDATA1 by the block 119, the application of the error correcting code ECC 'by the block 128 corrects the erroneous data, distorted by the block 119, so as to restore an RDATA datum corresponding to the TDATA datum. Thus, the block 128 corrects the data RDATA1 thanks to the data RDATA2. According to this embodiment, the correction, by the receiver circuit 12, of the error intentionally introduced by the transmitter circuit 11, means that the receiver circuit does indeed have the function of receiving and processing data on two channels and the function of error correction.
[0070] On peut alors prévoir que le circuit récepteur 12 renvoie la donnée RDATA obtenue par le bloc 128. Si la donnée ainsi reçue en retour par le circuit 11 est identique à la donnée TDATA émise par le circuit 11, alors cela signifie que le circuit 12 met bien en œuvre la fonction de réception et de traitement des données sur deux canaux et la fonction de correction d'erreur. Le circuit 12 reproduit alors les fonctionnalités du mode de réalisation décrit. Provision can then be made for the receiver circuit 12 to return the RDATA data obtained by the block 128. If the data thus received in return by circuit 11 is identical to the TDATA data transmitted by circuit 11, then this means that circuit 12 does indeed implement the function of receiving and processing data on two channels and the function of correcting mistake. Circuit 12 then reproduces the functionalities of the embodiment described.
[0071] Si, par contre, le circuit récepteur ne possède pas la fonction de réception et de traitement des données sur deux canaux et la fonction de correction d'erreur, la vérification, par le circuit émetteur 11, de la donnée RDATA reçue par le circuit récepteur, montre une donnée de réception RDATA différente de la donnée TDATA transmise. Le circuit 12 ne reproduit alors pas les fonctionnalités du mode de réalisation décrit. If, on the other hand, the receiver circuit does not have the function of receiving and processing data on two channels and the error correction function, the verification, by the transmitter circuit 11, of the RDATA data received by the receiver circuit shows a RDATA reception datum different from the transmitted TDATA datum. Circuit 12 then does not reproduce the functionalities of the embodiment described.
[0072] Selon un autre mode de réalisation, la donnée TDATA2 représente le résultat de l'application d'une fonction cryptographique, par exemple une signature, à la donnée TDATA According to another embodiment, the data TDATA2 represents the result of the application of a cryptographic function, for example a signature, to the data TDATA
(la fonction ίt est une fonction de calcul de signature) . La donnée TDATA1 est alors égale à la donnée TDATA et est transmise avec une signature portée par la donnée TDATA2. Côté réception, le circuit 11 décode le signal reçu et, s'il comporte les fonctionnalités de ce mode de réalisation, est capable de traiter les données des deux canaux RDATA1 et RDATA2, et de vérifier qu'une signature qu'il calcule (il possède alors une fonction ÎR appliquant le même algorithme de calcul de signature que la fonction ίt du circuit 11) correspond à la signature reçue sur la donnée RDATA2. En supposant un mécanisme de réponse selon lequel le circuit émetteur 11 attend un accusé-réception représentatif de la signature obtenue par le récepteur, le fait que le circuit 12 renvoie cet accusé-réception signifie alors que le circuit 12 reproduit les fonctionnalités du mode de réalisation décrit. [0073] Selon encore un autre mode de réalisation, les données TDATA1 et TDATA2 sont identiques et correspondent à la donnée(the function ίt is a signature calculation function). The data TDATA1 is then equal to the data TDATA and is transmitted with a signature carried by the data TDATA2. On the reception side, the circuit 11 decodes the received signal and, if it includes the functionalities of this embodiment, is capable of processing the data of the two channels RDATA1 and RDATA2, and of verifying that a signature that it calculates (it then has a function ÎR applying the same signature calculation algorithm as the function ίt of circuit 11) corresponds to the signature received on the datum RDATA2. Assuming a response mechanism according to which the sending circuit 11 waits for an acknowledgment representative of the signature obtained by the receiver, the fact that the circuit 12 sends back this acknowledgment then means that the circuit 12 reproduces the functionalities of the embodiment. described. According to yet another embodiment, the data TDATA1 and TDATA2 are identical and correspond to the data
TDATA. La fonction ίt est alors une fonction de duplication de la donnée TDATA. Côté réception, la fonction ÎR est par exemple une fonction de combinaison bit à bit de type OU- Exclusif dont le résultat attendu est un mot nul (tous les bits à l'état 0) . La détection du fait qu'un circuit esclave possède les fonctionnalités de ce mode de réalisation peut s'effectuer par un processus d'échange selon lequel le circuit maître attend en retour le résultat de la fonction ÎR. S'il reçoit un mot nul, cela signifie que le circuit 12 reproduit les fonctionnalités du mode de réalisation décrit. TDATA. The function ίt is then a function of duplication of the TDATA data. On the reception side, the ÎR function is for example a bit-by-bit combination function of the Exclusive-OR type, the expected result of which is a zero word (all the bits at state 0). The detection of the fact that a slave circuit has the functionalities of this embodiment can be carried out by an exchange process according to which the master circuit waits in return for the result of the function ÎR. If it receives a zero word, this means that circuit 12 reproduces the functionalities of the embodiment described.
[0074] Selon encore un mode de réalisation, la donnée RDATA2 constitue un masque que le circuit récepteur est supposé appliquer à la donnée RDATA1 qu' il reçoit pour retourner un résultat attendu. According to yet another embodiment, the data RDATA2 constitutes a mask that the receiver circuit is supposed to apply to the data RDATA1 that it receives in order to return an expected result.
[0075] Le cas échéant, la donnée TDATA2, dont l'élaboration par le bloc 116 vise à permettre une vérification ou une correction de la donnée RDATA1 reçue par le circuit 12, comporte un nombre de bits inférieur au nombre de bits de la donnée TDATA. Dans le cas d'un code correcteur d'erreur, la longueur du code conditionne le nombre de bits susceptibles d'être corrigés. If applicable, the data TDATA2, the elaboration of which by the block 116 aims to allow a verification or a correction of the data RDATA1 received by the circuit 12, comprises a number of bits less than the number of bits of the data TDATA. In the case of an error correcting code, the length of the code conditions the number of bits that can be corrected.
[0076] La figure 6 est un diagramme d'enchaînement d'opérations associées à la mise en œuvre du principe de correction d'erreur entre un émetteur et un récepteur. FIG. 6 is a flow diagram of operations associated with the implementation of the principle of error correction between a transmitter and a receiver.
[0077] Les opérations décrites ci-dessous ont typiquement pour but de contrôler qu'un récepteur est capable d'utiliser une transmission multi-canal et de corriger d'éventuelles erreurs affectant les données envoyées par un émetteur. [0078] Dans une première étape (STEP 1), l'émetteur (SENDER) envoie (SEND) au récepteur (RECEIVER) une commande (SET CONFIG) de configuration de la communication. La prise en compte (EXECUTE) de cette commande par le récepteur lui permet d'être informé que la transmission sur le bus I2C s'effectuera sur deux canaux et que la fonction de correction d'erreur doit être activée (CONFIG OK) . The operations described below are typically intended to check that a receiver is capable of using multi-channel transmission and to correct any errors affecting the data sent by a transmitter. In a first step (STEP 1), the transmitter (SENDER) sends (SEND) to the receiver (RECEIVER) a command (SET CONFIG) for configuring the communication. The taking into account (EXECUTE) of this command by the receiver enables it to be informed that the transmission on the I2C bus will be carried out on two channels and that the error correction function must be activated (CONFIG OK).
[0079] Dans une deuxième étape (STEP 2), l'émetteur interroge (REQ) le récepteur par une requête d'état (STATUS REQUEST) . La prise en compte (EXECUTE) de cette requête par le récepteur lui permet de renvoyer (RESP) un statut (STATUS) à l'émetteur. Le contrôle (CHECK) de ce statut par l'émetteur permet de vérifier que la transmission est correctement établie (STATUS OK) . In a second step (STEP 2), the transmitter interrogates (REQ) the receiver by a status request (STATUS REQUEST). The taking into account (EXECUTE) of this request by the receiver enables it to return (RESP) a status (STATUS) to the transmitter. The control (CHECK) of this status by the transmitter makes it possible to verify that the transmission is correctly established (STATUS OK).
[0080] Dans une troisième étape (STEP 3), l'émetteur interroge (REQ) le récepteur par une requête de reconnaissance (HANDSHAKE REQUEST) . Cette requête de reconnaissance est, de préférence, élaborée en introduisant une erreur volontaire dans la donnée à transmettre comme exposé en relation avec la figure 5. Dans le cas où le récepteur est doté des blocs nécessaires à la communication multi-canal et à la correction d'erreur, la prise en compte (EXECUTE) de cette requête par le récepteur lui permet de renvoyer (RESP) la réponse (HANDSHAKE RESPONSE) attendue par l'émetteur. Le contrôle (CHECK) de cette réponse par l'émetteur permet de vérifier si le récepteur est capable de mettre en œuvre la fonction de correction d'erreur (HANDSHAKE OK) . In a third step (STEP 3), the sender questions (REQ) the receiver by a recognition request (HANDSHAKE REQUEST). This recognition request is preferably produced by introducing a deliberate error in the data to be transmitted as explained in relation to FIG. 5. In the case where the receiver is provided with the blocks necessary for multi-channel communication and for correction error, the acceptance (EXECUTE) of this request by the receiver allows it to return (RESP) the response (HANDSHAKE RESPONSE) expected by the sender. The check (CHECK) of this response by the transmitter makes it possible to check whether the receiver is capable of implementing the error correction function (HANDSHAKE OK).
[0081] La figure 7 illustre un exemple de liaison entre le circuit électronique d'une imprimante et des circuits électroniques associés à des cartouches d'encre. FIG. 7 illustrates an example of a connection between the electronic circuit of a printer and electronic circuits associated with ink cartridges.
[0082] Dans l'exemple de la figure 7, une imprimante 31 contient un circuit principal 312 dédié notamment au pilotage d'organes électromécaniques. L'imprimante 31 est équipée d'une ou plusieurs cartouches d'encre, par exemple trois cartouches d'encre 33, 35 et 37. Chaque cartouche 33, 35, 37 porte un circuit, respectivement 332, 352 et 372. Les quatre circuits 312, 332, 352 et 372 sont reliés entre eux par des conducteurs, symbolisés par un câble 320, compatibles avec une transmission respectant le protocole I2C. De préférence, le circuit 312 de l'imprimante 31 fait office de circuit maître tandis que les circuits 332, 352 et 372 font office de circuits esclaves. Dans ce cas, la transmission bi-canaux peut n'être prévue que dans le sens maître-esclave, les réponses des cartouches mettant en œuvre une transmission I2C usuelle et les fonctions particulières ίt et ÎR n'étant alors respectivement prévues que côté imprimante et côté cartouchesIn the example of FIG. 7, a printer 31 contains a main circuit 312 dedicated in particular to the control of electromechanical components. Printer 31 is equipped one or more ink cartridges, for example three ink cartridges 33, 35 and 37. Each cartridge 33, 35, 37 carries a circuit, respectively 332, 352 and 372. The four circuits 312, 332, 352 and 372 are interconnected by conductors, symbolized by a cable 320, compatible with a transmission respecting the I2C protocol. Preferably, the circuit 312 of the printer 31 acts as a master circuit while the circuits 332, 352 and 372 act as slave circuits. In this case, the two-channel transmission may only be provided in the master-slave direction, the responses of the cartridges implementing a usual I2C transmission and the particular functions ίt and Î R then being respectively provided only on the printer side. and cartridge side
[0083] La figure 8 représente, de façon très schématique et sous forme de blocs, un mode de réalisation d'un circuit électronique 8 adapté à mettre en œuvre les modes de réalisation décrits. FIG. 8 very schematically shows in the form of blocks an embodiment of an electronic circuit 8 suitable for implementing the embodiments described.
[0084] Le circuit électronique 8 comporte : The electronic circuit 8 comprises:
- une ou plusieurs unités 81 de traitement numérique (PU), par exemple de type machine d'états, microprocesseur, circuit logique programmable, etc. ; et/ou one or more digital processing units 81 (PU), for example of the state machine, microprocessor, programmable logic circuit type, etc. ; and or
- une ou plusieurs mémoires 82, 83 de stockage volatil (RAM) et/ou non volatil (NVM) de données et programmes ; one or more memories 82, 83 for volatile (RAM) and / or non-volatile (NVM) storage of data and programs;
- un ou plusieurs bus 84 de données, d'adresses et/ou de commandes entre les différents éléments internes au circuit 8 ; et one or more bus 84 of data, addresses and / or commands between the various elements internal to the circuit 8; and
- une ou plusieurs interfaces 85 d'entrée-sortie (I/O) de communication, entre autres, par un bus I2C avec l'extérieur du circuit ; et one or more input-output (I / O) interfaces 85 for communication, among others, by an I2C bus with the outside of the circuit; and
- divers autres circuits en fonction de l'application, symbolisés en figure 8 par des blocs 86 (FCT) . [0085] En supposant une mise en œuvre de la fonction fp par des circuits 8 équipant des cartouches, on peut prévoir que la fonction ÎR elle-même ne soit pas contenue dans le circuit mais qu'une mémoire, de préférence une mémoire non volatile, de celui-ci comporte une table de correspondance entre des ensembles de données RDATA1 et RDATA2 reproduisant la fonction fT pour tout ou partie des valeurs possibles. Cela permet alors à la cartouche de mettre en œuvre le procédé décrit. - various other circuits depending on the application, symbolized in FIG. 8 by blocks 86 (FCT). Assuming an implementation of the function fp by circuits 8 equipping cartridges, it can be provided that the function ÎR itself is not contained in the circuit but that a memory, preferably a non-volatile memory , of the latter comprises a correspondence table between data sets RDATA1 and RDATA2 reproducing the function fT for all or part of the possible values. This then allows the cartridge to implement the method described.
[0086] Dans le cadre d'une mise en œuvre partiellement ou totalement logicielle, un support de stockage du dispositif ou de l'équipement concerné peut stocker des instructions d'un produit programme d'ordinateur qui, lorsqu'elles sont mises en œuvre par un processeur équipant le dispositif ou l'équipement, font que le processeur met en œuvre tout ou partie du procédé décrit. In the context of a partially or totally software implementation, a storage medium of the device or of the equipment concerned can store instructions of a computer program product which, when they are implemented by a processor equipping the device or equipment, cause the processor to implement all or part of the method described.
[0087] Divers modes de réalisation et variantes ont été décrits. L'homme de l'art comprendra que certaines caractéristiques de ces divers modes de réalisation et variantes pourraient être combinées, et d'autres variantes apparaîtront à l'homme de l'art. En particulier, ce qui est exposé plus particulièrement en relation avec un exemple d'application à une authentification imprimante-cartouche s'applique plus généralement à toute authentification d'accessoire ou de consommable par un équipement. Various embodiments and variants have been described. Those skilled in the art will understand that certain features of these various embodiments and variants could be combined, and other variants will be apparent to those skilled in the art. In particular, what is explained more particularly in relation to an example of application to printer-cartridge authentication more generally applies to any accessory or consumable authentication by a device.
[0088] Enfin, la mise en œuvre pratique des modes de réalisation et variantes décrits est à la portée de l'homme du métier à partir des indications fonctionnelles données ci- dessus. En particulier, dans le mode de réalisation à correction d'erreur, le choix de la longueur et de la nature du code correcteur d'erreur peut varier en fonction de l'application. De plus, bien que les modes de réalisation décrits fassent plus particulièrement référence à un système dans lequel les fonctions maître (imprimante) et esclave (cartouche) sont figées, la transposition des modes de réalisation décrits à un système dans lequel tous les circuits peuvent jouer un rôle de maître ou d'esclave (figure 1) est à la portée de l'homme du métier à partir de la description ci-dessus . Finally, the practical implementation of the embodiments and variants described is within the abilities of those skilled in the art based on the functional indications given above. In particular, in the error correction embodiment, the choice of the length and the nature of the error correction code can vary depending on the application. In addition, although the embodiments described make more particular reference to a system in which the master (printer) and slave (cartridge) functions are fixed, the transposition of the embodiments described to a system in which all the circuits can play a role of master or slave (figure 1) is within the reach of those skilled in the art from the above description.

Claims

REVENDICATIONS
1. Procédé de transmission sur bus I2C, dans lequel un premier canal du signal de données (SDA) véhicule une première donnée (TDATA1, RDATA1) et un deuxième canal du même signal de données (SDA) véhicule une deuxième donnée (TDATA2, RDATA2), ces deux données étant liées entre elles. 1. Method of transmission on an I2C bus, in which a first channel of the data signal (SDA) carries a first datum (TDATA1, RDATA1) and a second channel of the same data signal (SDA) carries a second datum (TDATA2, RDATA2) ), these two data being linked to each other.
2. Circuit (11, 12) de communication sur bus I2C, comportant des circuits adaptés à mettre en œuvre le procédé selon la revendication 1. 2. Circuit (11, 12) for communication on an I2C bus, comprising circuits suitable for implementing the method according to claim 1.
3. Produit programme d'ordinateur, comportant un support de stockage non transitoire comprenant des instructions adaptées à mettre en œuvre le procédé selon la revendication 1. 3. Computer program product, comprising a non-transient storage medium comprising instructions adapted to implement the method according to claim 1.
4. Circuit mémoire (83) contenant une table de correspondance entre un ensemble de premières données et un ensemble de deuxièmes données selon la revendication 1. 4. Memory circuit (83) containing a correspondence table between a set of first data and a set of second data according to claim 1.
5. Procédé selon la revendication 1 ou circuit de communication selon la revendication 2 ou produit programme selon la revendication 3 ou mémoire selon la revendication 4, dans lequel la deuxième donnée (TDATA2, RDATA2) dépend de la première donnée (TDATA1, RDATA1) . 5. Method according to claim 1 or communication circuit according to claim 2 or program product according to claim 3 or memory according to claim 4, in which the second datum (TDATA2, RDATA2) depends on the first datum (TDATA1, RDATA1).
6. Procédé ou circuit de communication ou produit programme ou circuit mémoire selon la revendication 5, dans lequel la deuxième donnée (TDATA2) représente l'application d'un code correcteur à la première donnée (TDATA1) . 6. Method or communication circuit or program product or memory circuit according to claim 5, in which the second data item (TDATA2) represents the application of a correcting code to the first data item (TDATA1).
7. Procédé selon la revendication 1 ou circuit de communication selon la revendication 2 ou produit programme selon la revendication 3 ou circuit mémoire selon la revendication 4, dans lequel la deuxième donnée (TDATA2) est un masque. 7. Method according to claim 1 or communication circuit according to claim 2 or program product according to claim 3 or memory circuit according to claim 4, in which the second datum (TDATA2) is a mask.
8. Procédé ou circuit de communication ou produit programme ou circuit mémoire selon la revendication 5, dans lequel la deuxième donnée (TDATA2) est identique à la première donnée (TDATA1) . 8. Method or communication circuit or program product or memory circuit according to claim 5, in which the second datum (TDATA2) is identical to the first datum (TDATA1).
9. Procédé selon l'une quelconque des revendications 1, 5 à 8, ou circuit de communication selon l'une quelconque des revendications 2, 5 à 8, ou produit programme selon l'une quelconque des revendications 3, 5 à 8, ou circuit mémoire selon l'une quelconque des revendications 4 à 8 dans lequel, en émission, une fonction d'émission (fi) est appliquée à une donnée d'émission (TDATA) : 9. Method according to any one of claims 1, 5 to 8, or communication circuit according to any one of claims 2, 5 to 8, or program product according to any one of claims 3, 5 to 8, or A memory circuit according to any one of claims 4 to 8 in which, in transmission, a transmission function (fi) is applied to transmission data (TDATA):
la première donnée (TDATA1) correspondant à la donnée d'émission ou au résultat de l'application de la fonction d'émission à la donnée d'émission ; et the first data item (TDATA1) corresponding to the transmission data or to the result of the application of the transmission function to the transmission data; and
la deuxième donnée (TDATA2) correspondant à la donnée d'émission, ou au résultat de l'application de la fonction d'émission à la donnée d'émission ou à un masque appliqué à la donnée d'émission pour obtenir la première donnée. the second data item (TDATA2) corresponding to the transmission data, or to the result of the application of the transmission function to the transmission data or to a mask applied to the transmission data to obtain the first data.
10. Procédé ou circuit de communication ou produit programme ou circuit mémoire selon la revendication 9, dans lequel un émetteur (11) transmet la donnée d'émission via la première donnée (TDATA1), la deuxième donnée (TDATA2) représentant une information de vérification ou de correction de la première donnée par un récepteur (12) . 10. A communication method or circuit or program product or memory circuit according to claim 9, in which a transmitter (11) transmits the transmission data via the first data (TDATA1), the second data (TDATA2) representing verification information. or correction of the first data by a receiver (12).
11. Procédé ou circuit de communication ou produit programme ou circuit mémoire selon la revendication 9, dans lequel un émetteur (11) masque la donnée d'émission puis transmet le résultat via la première donnée (TDATA1), la deuxième donnée (TDATA2) représentant une information de démasquage de la première donnée par un récepteur (12) . 11. A method or communication circuit or program product or memory circuit according to claim 9, in which an emitter (11) masks the transmission data then transmits the result via the first data (TDATA1), the second data (TDATA2) representing unmasking information of the first data by a receiver (12).
12. Procédé selon l'une quelconque des revendications 1, 5 à12. A method according to any one of claims 1, 5 to
11, ou circuit de communication selon l'une quelconque des revendications 2, 5 à 11, ou produit programme selon l'une quelconque des revendications 3, 5 à 11, ou circuit mémoire selon l'une quelconque des revendications 4 à 11, dans lequel, en réception, une fonction de réception (ÎR) est appliquée aux première (RDATA1) et deuxième (RDATA2) données et fournit une donnée de réception, la donnée de réception (RDATA) correspondant à la première donnée ou au résultat de l'application de la fonction de réception. 11, or communication circuit according to any one of claims 2, 5 to 11, or program product according to any one of claims 3, 5 to 11, or memory circuit according to any one of claims 4 to 11, in which, in reception, a reception function (ÎR) is applied to the first (RDATA1) and second (RDATA2) data and provides a reception datum, the reception datum (RDATA) corresponding to the first datum or to the result of the application of reception function.
13. Procédé ou circuit de communication ou produit programme ou circuit mémoire selon la revendication 12, dans lequel une information représentative de la donnée de réception (RDATA) est retournée à un circuit émetteur (11) . 13. Communication method or circuit or program product or memory circuit according to claim 12, in which information representative of the reception data (RDATA) is returned to a transmitter circuit (11).
14. Système de transmission sur un bus I2C comportant au moins deux dispositifs, au moins un des dispositifs : 14. Transmission system on an I2C bus comprising at least two devices, at least one of the devices:
étant adapté à mettre en œuvre le procédé selon l'une quelconque des revendications 1, 5 à 13 ; et/ou being adapted to implement the method according to any one of claims 1, 5 to 13; and or
comportant un circuit de communication selon l'une quelconque des revendications 2, 5 à 13 ; et/ou comprising a communication circuit according to any one of claims 2, 5 to 13; and or
comportant un produit programme selon l'une quelconque des revendications 3, 5 à 13 ; et/ou comprising a program product according to any one of claims 3, 5 to 13; and or
comportant un circuit mémoire selon l'une quelconque des revendications 4 à 13. comprising a memory circuit according to any one of claims 4 to 13.
15. Émetteur (11) d'un système conforme à la revendication 14. 15. Transmitter (11) of a system according to claim 14.
16. Récepteur (12) d'un système conforme à la revendication 14. 16. Receiver (12) of a system according to claim 14.
17. Émetteur-récepteur (11, 12) d'un système conforme à la revendication 14. 17. A transceiver (11, 12) of a system according to claim 14.
EP20710216.1A 2019-02-22 2020-02-13 Transmission of linked data on an i2c bus Withdrawn EP3928210A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1901844A FR3093198B1 (en) 2019-02-22 2019-02-22 Transmission of linked data on I2C bus
PCT/FR2020/050261 WO2020169902A1 (en) 2019-02-22 2020-02-13 Transmission of linked data on an i2c bus

Publications (1)

Publication Number Publication Date
EP3928210A1 true EP3928210A1 (en) 2021-12-29

Family

ID=67185337

Family Applications (1)

Application Number Title Priority Date Filing Date
EP20710216.1A Withdrawn EP3928210A1 (en) 2019-02-22 2020-02-13 Transmission of linked data on an i2c bus

Country Status (5)

Country Link
US (1) US20220027303A1 (en)
EP (1) EP3928210A1 (en)
CN (1) CN113474762A (en)
FR (1) FR3093198B1 (en)
WO (1) WO2020169902A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114253898A (en) * 2021-12-27 2022-03-29 上海集成电路研发中心有限公司 Bus device and data read-write circuit

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL136176A (en) * 2000-05-16 2004-02-19 Lightscape Networks Ltd Rearrangement of data streams
US8259949B2 (en) * 2008-05-27 2012-09-04 Intel Corporation Methods and apparatus for protecting digital content
FR2939926B1 (en) * 2008-12-17 2010-12-10 St Microelectronics Rousset TRANSMISSION ON I2C BUS
US8385374B1 (en) * 2009-07-15 2013-02-26 Marvell Israel (M.I.S.L.) Ltd. Multilane communication device
US9454504B2 (en) * 2010-09-30 2016-09-27 Hewlett-Packard Development Company, L.P. Slave device bit sequence zero driver
US9015499B2 (en) * 2010-11-01 2015-04-21 Cleversafe, Inc. Verifying data integrity utilizing dispersed storage
BR112013013239A2 (en) * 2010-12-02 2016-09-06 3M Innovative Properties Co Methods and Systems for Improving Read Accuracy in License Plate Automated Reading Systems
FR3009633B1 (en) * 2013-08-08 2017-02-24 Stmicroelectronics Rousset COMMUNICATION ON I2C BUS
US9710423B2 (en) * 2014-04-02 2017-07-18 Qualcomm Incorporated Methods to send extra information in-band on inter-integrated circuit (I2C) bus
FR3038188B1 (en) * 2015-06-29 2017-08-11 Stmicroelectronics (Grenoble 2) Sas SYSTEM FOR VERIFYING THE INTEGRITY OF A COMMUNICATION BETWEEN TWO CIRCUITS
US10664424B2 (en) * 2017-11-02 2020-05-26 Texas Instruments Incorporated Digital bus activity monitor
US10839809B1 (en) * 2017-12-12 2020-11-17 Amazon Technologies, Inc. Online training with delayed feedback
US10402365B2 (en) * 2018-01-16 2019-09-03 Qualcomm Incorporated Data lane validation procedure for multilane protocols
US10834661B2 (en) * 2018-04-27 2020-11-10 Qualcomm Incorporated Multiple connectivity for high reliability

Also Published As

Publication number Publication date
WO2020169902A1 (en) 2020-08-27
FR3093198B1 (en) 2021-02-12
US20220027303A1 (en) 2022-01-27
FR3093198A1 (en) 2020-08-28
CN113474762A (en) 2021-10-01

Similar Documents

Publication Publication Date Title
FR2965374A1 (en) MASTER-SLAVE COMMUNICATION ON A UNIFILARY BUS BETWEEN A MASTER CIRCUIT AND AT LEAST TWO SLAVE CIRCUITS
EP0026135B1 (en) Method of testing a digital data transmission line between two modems and device for carrying out this method
FR3001594A1 (en) METHOD, DEVICE AND COMPUTER PROGRAM FOR DIGITAL TRANSMISSION OF MESSAGES
EP0269481A1 (en) Method and device for transmitting digita data
FR2838001A1 (en) Method for transmitting data from sensor to control device e.g. in motor vehicle, involves control device checking line and/or power uptake of at least one sensor, before sensor identification
EP1746783A1 (en) Communication method and system for motor vehicles
EP1560372B1 (en) Method and device for automatically detecting the bit rate of a CAN bus network
FR2887095A1 (en) COMMUNICATION DEVICE AND METHOD FOR DATA TRANSMISSION
EP3928210A1 (en) Transmission of linked data on an i2c bus
FR2988949A1 (en) COMMUNICATION DEVICE AND METHOD FOR ERROR PROGRAMMING OR CORRECTION OF ONE OR MORE PARTICIPANTS OF THE COMMUNICATION DEVICE
FR2990784A1 (en) COMMUNICATION MEMBER OF A MULTI-STATE CAN FD TYPE COMMUNICATION NETWORK COMPATIBLE WITH CAN HS TYPE COMMUNICATION DEVICES
EP1215821B1 (en) Circuit for securing a minimal transition frequency on a serial link
FR2631183A1 (en) METHOD AND DEVICE FOR ASYNCHRONOUS PACKET DATA TRANSMISSION
EP0550329B1 (en) Method for conformance testing of a cell representative of a circuit for managing a communication protocol, and system to apply the method
EP0380378B1 (en) Method and device for the hierarchical access to an information transmission network
EP2878086B1 (en) Unidirectional multicast system
EP2865100A1 (en) Device for correcting two errors with a code of hamming distance three or four
EP3933798A1 (en) Method for managing a battery pack
EP1517474A1 (en) Method and corresponding apparatus for the automatic detection of the bit rate of a network, particularly of type CAN (Controller Area Network), and for the configuration of the network at the detected bit rate
EP0288353A1 (en) Method for switching asyschronous digital signals, and device for carrying out this method
FR2767618A1 (en) Digital transmission sequence coding method
FR3102269A1 (en) Method and device for detecting an intrusion on a vehicle data bus
EP0694238A1 (en) Method for increasing transmission rate
WO2020254732A1 (en) Decentralised communication system and corresponding control method
CN112104583B (en) Demodulation method, device and equipment for amplitude shift keying and computer readable storage medium

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20210818

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20220805

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN

18W Application withdrawn

Effective date: 20240126