Systems for setting the address of a module

A circuit module is disclosed. The circuit module has a ground connection, a power connection, a shunt regulator coupled to the power connection and to the ground connection, a current measuring circuit that measures a current flowing between the power connection and the ground connection, one or more communication connections, and a digital logic circuit coupled to the one or more communication connections to send and receive communications. The digital logic circuit responds to communications addressed to a communication address with the communication address based on the current measured by the current measuring circuit. Other systems are disclosed.

CROSS REFERENCES TO RELATED APPLICATIONS

This application is related to U.S. patent application Ser. No. 14/517,234, filed Oct. 17, 2014, entitled “METHODS FOR SETTING THE ADDRESS OF A MODULE”.

BACKGROUND

1. Field of the Disclosure

The present disclosure relates generally to slave devices on a communication bus and more particularly to slave modules on an I2C bus.

2. Description of the Related Art

I2C (also known as I2C) is an inter-device communication standard. An I2C bus has one master device and one or more slave devices. Each slave device has a unique communication address so that the master device can direct communication to a particular slave device.

Printers have user-replaceable supply items such as toner bottles. These supply items may have authentication circuits to distinguish original equipment manufactured toner bottles from third-party toner bottles, since different operating procedures may apply. Authentication circuits may implement cryptography algorithms to increase confidence in the authentication. A single color printer, such as a mono printer, may have an authentication circuit on a toner bottle and another authentication circuit on an imaging unit. These modules that contain the authentication circuits may be nearly identical, the only difference being a non-volatile memory variable that contains the module address. During manufacturing, extra expense must be expended to keep track of these two similar, but non-identical, modules, and the system will not operate correctly if the modules are mixed up. What is needed is a way to use identical modules on multiple supply items.

SUMMARY

The invention, in one form thereof, is directed to a circuit module having a ground connection, a power connection, a shunt regulator coupled to the power connection and to the ground connection, a current measuring circuit that measures a current flowing between the power connection and the ground connection, one or more communication connections, and a digital logic circuit coupled to the one or more communication connections to send and receive communications. The digital logic circuit responds to communications addressed to a communication address with the communication address based on the current measured by the current measuring circuit.

The invention, in yet another form thereof, is directed to a circuit module having a ground connection, a power connection, a shunt regulator coupled to the power connection and to the ground connection, one or more communication connections, and a digital logic circuit coupled to the one or communication connections to send and receive communications. The shunt regulator includes an adjustable current sink and a control line that adjusts the current sunk by the adjustable current sink. The digital logic circuit responds to communications addressed to a communication address with the communication address based on the state of the control line that adjusts the adjustable current sink.

The invention, in yet another form thereof, is directed to a module having a power connection, a ground connection, an I2C slave device that has a communication address, and a controller. The controller determines whether or not the voltage between the power connection and the ground connection is greater than a first predetermined threshold, and, if so determined, then decreases the impedance between the power connection and the ground connection and sets the communication address to a first address. The controller also determines whether or not the voltage between the power connection and the ground connection is less than a second predetermined threshold, and, if so determined, then increases the impedance between the power connection and the ground connection and sets the communication address to a second address. The first address is not the same as the second address.

DETAILED DESCRIPTION

In the following description, reference is made to the accompanying drawings where like numerals represent like elements. The embodiments are described in sufficient detail to enable those skilled in the art to practice the present disclosure. It is to be understood that other embodiments may be utilized and that process, electrical, and mechanical changes, etc., may be made without departing from the scope of the present disclosure. Examples merely typify possible variations. Portions and features of some embodiments may be included in or substituted for those of others. The following description, therefore, is not to be taken in a limiting sense and the scope of the present disclosure is defined only by the appended claims and their equivalents.

Referring now to the drawings and more particularly toFIG. 1, there is shown a schematic diagram depiction of a circuit according to one embodiment of the present disclosure. A printer module network100has a system application specific integrated circuit (ASIC)102coupled to a first module104and to a second module106via an I2C bus. The I2C bus has a clock line108driven by the system ASIC102and a data line110driven bi-directionally by the system ASIC102, the first module104, and the second module106. The clock line and the data line are serial communication connections.

The system ASIC102is located on a system printed circuit board (PCB)103. The first module104is located on a user-replaceable component, e.g., as shown a toner bottle105. The first module104includes a PCB. A power connection112, a ground connection114, a clock connection116, and a data connection118are, for example, conductive pads located on the first-module PCB. Compliant metal fingers touch the conductive pads forming electrical connections between the system PCB and the first module104. Alternatively, power connection112, ground connection114, clock connection116, and data connection118may be made with other reusable connections such as pin-in-socket connectors. The second module106has similar connections and is located on, for example, as shown an imaging unit119.

The system ASIC102is an I2C master, the first module104and the second module106are I2C slaves. As is known in the art, a serial communication in the I2C data format contains a header that has a slave address. Each slave will only respond to communications that are addressed to its communication address. Thus, each slave on the I2C bus has a unique communication address.

The communication address of the first module104is not fixed. Instead, the communication address is controlled by a first power voltage120and a first source resistor122located on the system PCB. The voltage between the power connection112and the ground connection114, hereafter referred to as Vin, is regulated by the first module104using a shunt regulator121, e.g., a zener diode. The communication address of the first module104is based on the amount of current flowing into the power connection112, hereafter referred to as tin. Similarly, the communication address of the first module104may be based on, for example, an impedance between the power connection112and the ground connection114, since this impedance will also influence tin. Thus, when Vin is regulated to a voltage, Iin is controlled by the first power voltage120and the first source resistor122.

A second power voltage124is coupled to the second module106via a second source resistor126. The second module106has a shunt regulator123coupled to Vin and ground. If, for example, the first module104is identical to the second module106, the first power voltage120is the same as the second power voltage124, and the first source resistor122is the same as the second source resistor126, then the first module104and the second module106will have the same communication address which is unwanted as it will cause bus conflicts. However, if the first source resistor122is not the same as the second source resistor126, then the first module104and the second module106will not have the same communication address since they will have different input currents, hereafter referred to as Iin. For example, the first module104and the second module106are identical and will have a first communication address if Iin is greater than 40 mA and a second communication address if Iin is less than 40 mA. Of course, other combinations of source resistor and power voltage will result in different Iin and thus different communication addresses. For example, if the first power voltage120is 12V, the second power voltage124is 8V, the first source resistor122is 100 ohms, the second source resistor126is 65 ohms, and Vin is regulated to 6V, then the first-module Iin is 60 mA and the second-module Iin is 30 mA, and thus the communication address of the two modules will be different.

Note that the disclosed system has two identical modules on the same I2C bus but at different addresses, and this function is provided without adding additional connections. This allows the same module to be populated into multiple system components which simplifies manufacturing and lowers cost.

Note that other communication systems may be used instead of I2C. For example, a universal serial bus (USB) system also has slave devices with unique communication addresses. Instead of setting one of only two addresses, more addresses may be set by dividing Iin into more than two regions. For example, four addresses would be advantageous for toner bottles of a four color printer.

FIG. 2shows a schematic diagram depiction of the printer module network100showing internal details of the first module104. Vin202, downstream of power connection112, is regulated by a zener diode204configured as a shunt regulator. The zener diode204is coupled to the power connection112via a sense resistor206, which is sized so that it does not significantly degrade the ability of zener diode204to regulate Vin202. Example component values are the Zener diode204is a 6V zener diode, sense resistor206is 1 ohm, and source resistor122is 100 ohms.

The voltage across sense resistor206is proportional to the amount of current flowing into the first module104through the power connection112i.e. Iin. A differential amplifier, made up of an op-amp208and resistors210,212,214,216, converts this differential voltage to a single-ended voltage referenced to ground. This single-ended voltage is coupled to an analog-to-digital converter (ADC) located in an authentication circuit218. Authentication circuit218is a digital logic circuit and contains an I2C slave which is coupled to the system ASIC102via clock connection116and data connection118. Note that the current through resistors210,212,214, and216and the op-amp208is negligible compared to the current through sense resistor206and so does not add significant error to the measurement of Iin.

Authentication circuit218has a communication address because it is an I2C slave device. I2C communication addresses are either 7 bits or 10 bits in length. The most significant bits are set, for example, to a value stored in non-volatile memory located within the authentication circuit218. The least significant bit is set based on the voltage read by the ADC, which is proportional to Iin. If Iin is greater than a predetermined input current threshold, for example, 40 mA, the least significant bit of the first-module communication address is set to one, otherwise it is set to zero. Thus, the first-module communication address may be changed by changing the value of the source resistor122since the source resistor122influences Iin. The authentication circuit218responds to communications addressed to the communication address.

The first-module communication address may also be changed by switching a ballast resistor219to ground. The ballast resistor219is, for example, 200 ohms. This will reduce the Thevenin equivalent voltage seen by the power connection112which will reduce Iin. The system ASIC102may switch in the ballast resistor219by turning on a transistor220via a resistor222. In this way, the system ASIC102may dynamically change the first-module communication address to verify, for example, that the first module104is operating correctly.

The system ASIC102may verify that the first module104is regulating Vin by reading an ADC coupled to Vin via resistor224and resistor226. The authentication circuit218may behave erratically if its power voltage droops, which may happen if the sever diode204fails to regulate Vin. Authentication circuit Vcc is supplied by a linear regulator228. Alternatively, the authentication circuit218may be supplied by Vin and the linear regulator may be omitted.

FIG. 3shows a schematic diagram depiction of a module300according to another embodiment of the present disclosure. The module300has the same electrical interface as the first module104. An op-amp304, and associated components306-314, forms an active current sink configured as a shunt regulator which regulates Vin to a predetermined target voltage e.g. 6V. A sense resistor316activates a transistor318when Iin exceeds a predetermined threshold Ith, e.g., 40 mA. Transistor318is coupled to a digital circuit320via a voltage divider made of resistor322and resistor324. The digital circuit320is, for example, a non-volatile memory, e.g., EEPROM, flash, etc. The digital circuit320is an I2C slave, and its communication address is based on the state of the address line326. The communication address will be a first address when Iin is below Ith and will be a second address when Iin is above Ith.

FIG. 4shows a schematic diagram depiction of a module400according to another embodiment of the present disclosure. The module400has the same electrical interface as the first module104. An op-amp402, and associated components404-412, forms an adjustable current sink configured as a shunt regulator which regulates Vin to a predetermined target voltage e.g. 6V. The output of the op-amp402is a control line413that adjusts the current in the adjustable current sink since the current through resistor412is inversely proportional to the voltage at the control line413. The module400does not measure Iin directly. Instead, the control line413is coupled via resistor414and resistor416to an ADC in an authentication ASIC418. The authentication ASIC418is a digital circuit that contains an authentication circuit.

Assuming that the current into the linear regulator228, op-amp402, and components404-410is negligible, Iin is proportional to the current through resistor412which is inversely proportional to the voltage on control line413hereinafter referred to as Vcl. The authentication ASIC418reads Vcl and sets a communication address based on this voltage. For example, the communication address may be set to a first address when Vcl exceeds a predetermined threshold and may otherwise be set to a second address. Of course, more communication addresses are possible with multiple thresholds. The authentication ASIC418responds to communications addressed to the communication address.

The authentication ASIC418may synchronize setting the communication address to when the authentication circuit is in a low-power state, such as, for example, when the authentication circuit is in an idle state. This will reduce the current into the linear regulator228so that it is negligible.

FIG. 5shows a schematic diagram depiction of a printer module network500. A module502is coupled to the system ASIC102. The module502has the same electrical interface as the first module104. Vin is coupled to an ADC input of a digital circuit504though resistor506and resistor508. A digital output of the digital circuit504is coupled to a transistor506via a resistor508. The transistor506is coupled to a resistor510that is coupled to Vin.

The digital circuit504is an I2C slave device that has a communication address. The digital circuit504has a controller that controls Dout and sets the communication address based on the voltage at the ADC input, which is proportional to Vin. If Vin is greater than a first predetermined threshold, the controller turns on Dout which decreases the impedance between a power connection514and a ground connection516and sets the communication address to a first address. If Vin is less than a second predetermined threshold, the controller turns off Dout which increases the impedance between the power connection514and the ground connection516and sets the communication address to a second address. If neither of these conditions are true then the controller does not change the state of Dout and does not change the communication address. The first address is not the same as the second address. The least significant bit of the communication address may be the same as Dout, and the most significant bits may be retrieved from NVRAM located in the digital circuit504. The controller responds to communications addressed to the communication address.

For example, if the first power voltage120is 12V, the first source resistor122is 100 ohms, resistor218is 200 ohms, resistor224is 40 k ohms, resistor226is 10 k ohms, resistor506is 40 k ohms, resistor508is 10 k ohms, resistor510is 200 ohms, and the current into the linear regulator228is negligible, and if the ballast output of the system ASIC102is low and Dout of the digital circuit is low, then Vin=12V. Assuming that the first predetermined threshold is 8.5V, the controller will determine that Vin is too high and will drive Dout high which will bring Vin down to 8V. Later, if the system ASIC102drives ballast high, Vin will drop to 6V. Assuming that the second predetermined threshold is 7.5V, the controller will determine that Vin is too low and will drive Dout low which will make Vin 8V. In this way, the module502regulates Vin.

In this example embodiment, the first predetermined threshold is greater than the second predetermined threshold. This gives the system some hysteresis which makes the module more resistant to noise on Vin. Alternatively, the first predetermined threshold may be the same as the second predetermined threshold which may be cheaper to implement if, for example, the ADC is replaced by a comparator.

Note that, in this example embodiment, the I2C slave device and the controller are integrated into the digital circuit which is an ASIC. Alternatively, the I2C slave device and the controller may be separate devices. The I2C slave device may include an authentication circuit.

FIG. 6shows a schematic diagram depiction of a module600according to another embodiment of the present disclosure. The module600has the same electrical interface as the first module104. A shunt regulator601in ASIC602regulates Vin to a predetermined target voltage by adjusting an active current sink located within the shunt regulator601. The ASIC602also has a current measuring circuit that measures the voltage across a resistor604. The current sunk by shunt regulator601passes through the resistor604. The ASIC602has a comparator that drives a digital output. Dout based on the output of the current measuring circuit. The digital output Dout is coupled to an address input of a digital logic circuit606which is an I2C slave device. A communication address of the digital logic circuit606is based on the state of the address input. The digital logic circuit may include an authentication circuit. The module is configured to perform one or more of the methods disclosed below.

FIG. 7shows a schematic diagram depiction of a module700according to another embodiment of the present disclosure. The module700has the same electrical interface as the first module104. An authentication ASIC702has a shunt regulator703that regulates Vin to a predetermined target voltage by adjusting an adjustable current sink located within shunt regulator703. Shunt regulator703has a control line that adjusts the current sunk by the adjustable current sink. The authentication ASIC702is an I2C slave device with a communication address. The communication address is based on the state of the control line. Alternatively, the authentication ASIC702may have a current measuring circuit that measures Iin and the communication address is based on the current measured. The module is configured to perform one or more of the methods disclosed below.

FIG. 8shows an example embodiment of a method of operating a module according to one embodiment. Method800sets a module communication address based on an adjustment in impedance made to regulate a power connection voltage, which is influenced by the source voltage and source impedance supplied to the module. This enables identical modules to be coupled to the same communication bus at different addresses. The module has a power connection, a ground connection, a clock connection, and a data connection. The clock connection and the data connection are serial communication connections e.g. I2C.

At block802, an impedance between the power connection and the ground connection is adjusted to regulate a power connection voltage targeted to a predetermined target voltage. For example, the power connection voltage may be regulated to 6V. The regulation may have a tolerance, for example +/−10% of the target voltage, depending on component tolerances and load variations.

At block804, a module communication address is set based on the adjustment made at block802. For example, if the adjusting included switching on a transistor connected to a ballast resistor to maintain regulation then the module communication address is set to a first address. Otherwise, the module communication address is set to a second address. Of course, more than two addresses may be used if the system has the capability to make finer adjustments of the impedance between the power connection and the ground connection.

At block806, through a serial communication connection, a first serial communication addressed to the module communication address is received. The serial communication connection may be, for example, the data connection. At block808, the first serial communication is responded to since it was addressed to the module communication address. For example, an I2C serial communication may be a header containing a start condition, a read command, and a I2C slave address, formatted in the I2C data format. The response may be made by driving data on the data connection.

At block810, through the serial communication connection, a second serial communication is received addressed to a different address than the module communication address. At block812, do not respond to the second serial communication since it was not addressed to the module communication address.

The method800may repeat adjusting the impedance and setting the module communication address in response to changes in the source voltage or the source impedance. Thus, the module communication address may be changed dynamically to avoid a conflict if, for example, a new module is added to the I2C bus.

The module may contain an authentication circuit used to verify the origin of the module. The authentication circuit may require a large amount of input current while it is performing an authentication. The method800may synchronize setting the module communication address to when the authentication circuit is in a lower-power state, such as an idle state, so that the current demands of the authentication circuit does not disturb the regulation of the power connection voltage. Other lower-power states may include, for example, memory reads, memory writes, etc.

FIG. 9shows an example embodiment of a method900of operating a module according to one embodiment. The module has a power connection, a ground connection, and a module communication address.

At block902, current flowing into the module through the power connection is increased to regulate a voltage between the power connection and the ground connection. At block904, the module communication address is set based on the amount of current flowing into the module through the power connection. The communication address may be set to one of two addresses. Alternatively, the communication address may be set to one of three or more addresses. At block906, a first communication addressed to the module communication address is responded to. The first communication may be formatted in the I2C data format.

At block908, a second communication addressed to a different address than the module communication address is received. At block910, do not respond to the second communication since it was not addressed to the module communication address.

The module may have an authentication circuit. The method900may synchronize setting the module communication address to when the authentication circuit is in a lower-power state, such as an idle state.

FIG. 10shows an example embodiment of a method1000of operating a module according to one embodiment. The module has a power connection, a ground connection, and a communication address.

At block1002, determine whether or not a voltage between the power connection and the ground connection is greater than a first predetermined threshold. If so determined, then at block1004decrease an impedance between the power connection and the ground connection, and at block1006set the communication address to a first address.

At block1008, determine whether or not the voltage between the power connection and the ground connection is less than a second predetermined threshold. If so determined, then at block1010increase the impedance between the power connection and the ground connection, and at block1012set the communication address to a second address. The first address is not the same as the second address. The first predetermined threshold may be greater than the second predetermined threshold to provide hysteresis. Alternatively, the first predetermined threshold may be the same as the second predetermined threshold to simplify the determining act.

At block1014, respond to a communication addressed to the communication address. The communication may be, for example, in the I2C data format.

In the disclosed embodiments, an ADC may be replaced by a comparator or a group of comparators. The acts of a method may be performed by a single controller. Alternatively, a plurality of circuits may perform one or more acts of a method. The acts of the methods may be performed in different orders than the given examples.

The foregoing description illustrates various aspects and examples of the present disclosure. It is not intended to be exhaustive. Rather, it is chosen to illustrate the principles of the present disclosure and its practical application to enable one of ordinary skill in the art to utilize the present disclosure, including its various modifications that naturally follow. All modifications and variations are contemplated within the scope of the present disclosure as determined by the appended claims. Relatively apparent modifications include combining one or more features of various embodiments with features of other embodiments.