According to one aspect there is disclosed an apparatus. The apparatus may include a first device. The first device may include a first serial input port configured to receive serial data from at least one of a host mcu and a second device; a first serial output port configured to output the serial data to a third device when the third device is coupled to the first device; a first shift register configured to receive the serial data from the first serial input port; a first multiplexer configured to selectively couple the first serial output port to the first shift register or the first serial input port; and a bus controller configured to receive the serial data from the first serial input port, the bus controller further configured to control the first multiplexer to couple the first serial output port to the first serial input port or the first shift register, based at least in part on the serial data, wherein the serial data includes a command section of a command and at least a portion of a payload section of the command, wherein the command section includes a command code, a target address and an error check and the payload section includes at least one new address and at least one corresponding error check.
|
7. A method for assigning an address to at least one device, the method comprising:
receiving serial data at a first device, wherein the serial data comprises a command section of a command and at least a portion of a payload section of the command, wherein the command section comprises a command code, a target address and a command error check and the payload section comprises at least one new address and at least one corresponding error check;
determining whether the serial data is targeted for the first device based, at least in part, on the command section;
storing a first address in the first device if the serial data is targeted for the first device; and
outputting the first address to a second device or latching the first address in the first device based, at least in part, on the command section.
1. An apparatus, comprising:
a first device comprising:
a first serial input port configured to receive serial data from at least one of a host mcu and a second device;
a first serial output port configured to output the serial data to a third device when the third device is coupled to the first device;
a first shift register configured to receive the serial data from the first serial input port;
a first multiplexer configured to selectively couple the first serial output port to the first shift register or the first serial input port; and
a bus controller configured to receive the serial data from the first serial input port, the bus controller further configured to control the first multiplexer to couple the first serial output port to the first serial input port or the first shift register, based at least in part on the serial data,
wherein the serial data comprises a command section of a command and at least a portion of a payload section of the command, wherein the command section comprises a command code, a target address and an error check and the payload section comprises at least one new address and at least one corresponding error check.
11. A system, comprising:
a plurality of devices; and
a host controller coupled to a first device of the plurality of devices, the host controller is configured to provide serial data to the first device wherein the serial data comprises a command section of a command and at least a portion of a payload section of the command, the command section comprises a command code, a target address and an error check and the payload section comprises at least one new address and at least one corresponding error check, wherein the command code is configured to cause at least one device to store or output a respective new address;
wherein each device comprises:
a first serial input port configured to receive the serial data,
a first serial output port configured to output the serial data to another device,
a first shift register configured to receive the serial data from the first serial input port,
a first multiplexer configured to selectively couple the first serial output port to the first shift register or the first serial input port, and
a bus controller configured to receive the serial data from the first serial input port, the bus controller further configured to control the first multiplexer to couple the first serial output port to the first serial input port or the first shift, based at least in part on the serial data.
2. The first device of
a second serial input port configured to receive serial data from the third device when the third device is coupled to the first device;
a second serial output port configured to output the serial data to at least one of the second device and the host mcu;
a second shift register configured to receive the serial data from the second serial input port; and
a second multiplexer configured to selectively couple the second serial data output port to the second shift register or the second serial data input port;
wherein the bus controller is further configured to receive the serial data from the second serial input port, the bus controller further configured to control the second multiplexer to selectively couple the second serial output port to the second serial input port, based at least in part on the serial data.
3. The first device of
4. The apparatus of
5. The apparatus of
6. The apparatus of
8. The method of
9. The method of
10. The method of
12. The system of
a second serial input port configured to receive the serial data;
a second serial output port configured to output the serial data;
a second shift register configured to receive the serial data from the second serial input port; and
a second multiplexer configured to selectively couple the second serial data output port to the second shift register or the second serial data input port;
wherein the bus controller is further configured to receive the serial data from the second serial input port, the bus controller further configured to control the second multiplexer to selectively couple the second serial output port to the second serial input port, based at least in part on the serial data.
13. The system of
14. The system of
15. The system of
16. The system of
17. The system of
18. The system of
19. The system of
20. The system of
|
A plurality of devices may be coupled together. In order to individually access each of the plurality of devices, each device should have a unique identifier, i.e., address. It may be desirable for each device to be manufactured identically to each other device, providing savings in both manufacturing cost and the time to manufacture the devices. In operation, however, it may be desirable to individually address each device, e.g., in order to access a particular device. It may also be desirable to assemble the plurality of devices into a system without consideration of a relative position of each device in the system. Providing unique addresses at manufacturing can be done but adds time and cost to the manufacturing process. It may therefore be desirable to identify and assign unique addresses to the devices after they have been assembled into the system.
According to one aspect there is disclosed an apparatus. The apparatus may include a first device. The first device may include a first serial input port configured to receive serial data from at least one of a host MCU and a second device; a first serial output port configured to output the serial data to a third device when the third device is coupled to the first device; a first shift register configured to receive the serial data from the first serial input port; a first multiplexer configured to selectively couple the first serial output port to the first shift register or the first serial input port; and a bus controller configured to receive the serial data from the first serial input port, the bus controller further configured to control the first multiplexer to couple the first serial output port to the first serial input port or the first shift register, based at least in part on the serial data, wherein the serial data includes a command section of a command and at least a portion of a payload section of the command, wherein the command section includes a command code, a target address and an error check and the payload section includes at least one new address and at least one corresponding error check.
According to another aspect there is disclosed a method for assigning addresses to at least one device. The method may include receiving serial data at a first device, wherein the serial data includes a command section of a command and at least a portion of a payload section of the command, wherein the command section includes a command code, a target address and a command error check and the payload section includes at least one new address and at least one corresponding error check; determining whether the serial data is targeted for the first device based, at least in part, on the command section; storing a first address in the first device if the serial data is targeted for the first device; and outputting the first address to a second device or latching the first address in the first device based, at least in part, on the command section.
In yet another aspect there is disclosed a system. The system may include a plurality of devices; and a host controller coupled to a first device of the plurality of devices, the host controller is configured to provide serial data to the first device wherein the serial data includes a command section of a command and at least a portion of a payload section of the command, the command section includes a command code, a target address and an error check and the payload section includes at least one new address and at least one corresponding error check, wherein the command code is configured to cause at least one device to store or output a respective new address. Each device may include a first serial input port configured to receive the serial data, a first serial output port configured to output the serial data to another device, a first shift register configured to receive the serial data from the first serial input port, a first multiplexer configured to selectively couple the first serial output port to the first shift register or the first serial input port, and a bus controller configured to receive the serial data from the first serial input port, the bus controller further configured to control the first multiplexer to couple the first serial output port to the first serial input port or the first shift, based at least in part on the serial data.
Features and advantages of the claimed subject matter will be apparent from the following detailed description of embodiments consistent therewith, which description should be considered with reference to the accompanying drawings, wherein:
A system, apparatus and/or method consistent with the present disclosure are configured to assign addresses to a plurality of devices coupled together in a system. The plurality of devices include at least one serial input port and at least one serial output port. The devices are configured to receive serial data from another device and/or a host controller and to provide serial data to another device and/or host controller via the serial ports. The address(es) may be assigned serially, as described herein. For example, the system may be a battery management system.
Each device 102 may include a first serial input port 110, a first serial output port 112, a second serial input port 114 and a second serial output port 116. The serial input ports 110, 114 are configured to receive serial data and the serial output ports 112, 116 are configured to output serial data. Serial data may include command(s) to a device 102, response(s) from a device 102 and/or data associated with the command(s)/response(s). For example, the serial data may include a command that includes a command section and a payload section. The command section may include a command code, a target address and an error check. For example, the command code corresponds to an instruction to be executed by the device 102 whose address corresponds to the target address. The error check may be a packet error check configured to verify that a command has been accurately received. The target address may correspond to an individual device 102, or may correspond to the plurality of devices, e.g., may be a broadcast device address that the plurality of devices are configured to respond to. A command may include other instructions as are evident those skilled in the art. The payload section may include data as described herein.
The vertical bus system 100 may include host controller circuitry, e.g., host management control unit (host MCU) 104. The host MCU 104 may include memory 105, configured to store commands and/or data, as described herein. The host MCU 104 is configured to be coupled to a serial input port and a serial output port of a device 102. For example, in the vertical bus system 100, the host MCU 104 is coupled to the first serial input port 110 and the second serial output port 116 of Device 1. The host MCU 104 is configured to send serial data, e.g., command(s), to the device(s) 102 and may receive serial data, e.g., response(s), from the device(s) 102 using the serial data input ports 110, 114 and serial data output ports 112, 116.
Each device 102 is configured to be coupled to at least one other device 102, using the serial input ports 110, 114 and the serial output ports 112, 116. For example, the first serial output port 112 of Device 1 is coupled to the first serial input port 110 of Device 2 and the second serial output port 116 of Device 2 is coupled to the second serial input port 114 of Device 1. This coupling may be repeated for each pair of devices 102 for the N devices in the vertical bus system 100. In some embodiments, the first serial output port 112 and the second serial input port 114 of Device N may not be connected.
Each device 102 may include a bus controller 106. The bus controller 106 is configured to be coupled to the serial input ports 110, 114 and the serial output ports 112, 116. The bus controller 106 is configured to receive commands from the host MCU 104 and to control the device's 102 response to the command. In other words, the bus controller 106 is configured to receive serial data, including command(s), from the host MCU 104, to interpret, i.e., decode, the received command(s), and to control the device 102, based on the received and interpreted command(s).
Each device 102 may include at least one level shifter 108a, 108b. The level shifters 108a, 108b are configured to shift voltage levels between devices 102 for the non-common ground system 100. For example, a first level shifter 108a may be coupled to the first output port 112 and a second level shifter 108b may be coupled to the second input port 114 of a device 102. The level shifters 108a, 108b are configured to protect the devices 102 from damage due to unequal potentials in coupled devices, e.g., Device 1 and Device 2. Each level shifter 108a, 108b is configured to shift a voltage level of a first device (e.g., Device 1) relative to second (e.g., Device 2) device when the first device is coupled to the second device.
Each device 102 may further include at least one shift register and at least one multiplexer. For example, each device 102 of the vertical bus system 100 includes a first shift register 120, a first multiplexer 122, a second shift register 124 and a second multiplexer 126. Each device 102 may further include a switch 128. The first shift register 120 is coupled to the first serial input port 110 and is configured to be selectively coupled to the first serial output port 112. For example, the bus controller 106 is configured to control the first multiplexer 122 to selectively couple the first shift register 120 or the first serial input port 110 to the first output port 112. The bus controller 106 may control the first multiplexer 122 based on a command from the host MCU 104, as described herein. If the first serial input port 110 in a first device, e.g., Device 1, is coupled to the first serial output port 112 of the first device (e.g., Device 1), then serial data from the host MCU 104 may be provided to a first serial input port of a second device, e.g., first serial input port 110 of Device 2, coupled to the first serial output port 112 of the first device, e.g., Device 1. If the first shift register 120 in a first device, e.g., Device 1, is coupled to the first serial output port 112, then serial data from the first shift register 120 of the first device may be provided to a first serial input port of a second device, e.g., first serial input port 110 of Device 2, coupled to the first serial output port 112 of the first device, e.g., Device 1.
The second shift register 124 is coupled to the second serial input port 114. The second shift register 124 is configured to be selectively coupled to the second serial output port 114. For example, the bus controller 106 is configured to control the second multiplexer 126 to selectively couple the second shift register 124 or the second serial input port 114 to the second output port 116. The bus controller 106 may control the second multiplexer 126 based on a command from the host MCU 104, as described herein.
The switch 128 is configured to controllably couple the first serial input port 110 to an input of the second multiplexer 126. The second multiplexer 126 may then selectively couple the first serial input port 110 to the second serial output port 116. The bus controller 106 is configured to control the state of the switch 128 and the second multiplexer 126. The switch 128 may then be used to test connections between a plurality of devices 102, as will be evident to one skilled in the art.
The vertical bus system 100 is configured to be coupled to a battery pack 130. The battery pack 130 may include a plurality of battery cells. For example, a battery pack 130 may include Lithium-Ion, NiMH (Nickel-Metal Hydride), Lead Acid, Fuel Cell, Super Capacitor, or some other energy storage technology. A subset of the plurality of battery cells may be coupled to each of the plurality of devices 102. The devices 102 are configured to detect parameter(s) associated with the subset(s) of battery cells. The parameter(s) may include local and/or battery cell temperature(s) and/or battery cell voltage(s) and/or current(s), as will be evident to one skilled in the art. The device(s) 102 are configured to provide the parameter(s) to the host MCU 104. For example, the parameter(s) may be included in serial data provided to the host MCU 104 via the second serial output port 116.
Accordingly, the vertical bus system 100 is configured to provide serial data communications between a host MCU and a plurality of devices 102. Advantageously, serial communication may reduce a number of ports for each device. Fewer ports may reduce manufacturing costs, e.g., may reduce a number of pins for a device 102 implemented in an integrated circuit.
The daisy chain systems 200, 250 may each include a plurality of devices 202. Each device 202 includes device circuitry. For example, each daisy chain system 200, 250 may include a plurality of devices: Device 1, Device 2, . . . , Device N. Each device 202 may include a serial input port 210 configured to receive serial data and a serial output port 212 configured to provide serial data. Serial data may include command(s) to a device 202, response(s) from a device 202 and/or data associated with the command(s)/response(s). For example, the serial data may include a command that includes a command section and a payload section, as described herein.
The daisy chain systems 200, 250 may include the host MCU 104. Each device 202 is configured to be coupled to at least one other device 202. At least one device 202 is configured to be coupled to the host MCU 104. The serial input port 210 of a first device is configured to be coupled to the host MCU 104 or the serial output port 212 of a second device 202. The serial output port 212 of the first device is configured to be coupled to the serial input port 210 of a third device 202 or to the host MCU 104. For example, in the daisy chain systems 200, 250, the serial input port 210 of Device 1 is coupled to the host MCU 104 and the serial output port 212 of Device 1 is coupled to the serial input port 210 of Device 2. Continuing with this example, the serial output port 212 of Device N is coupled to the host MCU 104.
The daisy chain system 200 of
The daisy chain systems 200, 250 are configured to be coupled to a battery pack 130. The battery pack 130 may include a plurality of battery cells. A subset of the plurality of battery cells may be coupled to each of the plurality of devices 202. The devices 202 are configured to detect parameter(s) associated with the subset(s) of battery cells, as described herein. The device(s) 202 are configured to provide the parameter(s) to the host MCU 104. For example, the parameter(s) may be included in serial data provided to the host MCU 104 via the serial output port 212.
Each device 202 may include a bus controller 206, a shift register 220 and a multiplexer 222. The bus controller 206 is coupled to the serial input port 210. The shift register 220 is configured to be coupled to the serial input port 210. The multiplexer 222 is configured to selectively couple the serial output port 212 to the shift register 220 or the serial input port 210. The bus controller 206 is configured to control the multiplexer 222 to couple the shift register 220 or the serial input port 210 to the serial output port 212, based at least in part, on a command from, e.g., the host MCU 104.
The command 300 is configured to assign new addresses to a plurality of devices coupled in a system. For example, the devices may be manufactured with a default address that may not be unique between devices. The payload section 320a is configured to include the new addresses 322a, . . . , 322n and error checks 324a, . . . , 324n for the plurality of devices in the system. Each address may have an associated PEC 324a, . . . , 324n. The address 322a and PEC 324a for Device N may be “first” and the address 322n and PEC 324n for Device 1 may be “last”. In other words, when a command, e.g., command 300, is sent serially, the command section 310a is received first followed by the payload section 320a. In the payload section 320a, the Nth device address 322a is received first, followed by the Nth device PEC 324a, followed by the N−1 device address, followed by the N−1 device PEC, and so on, until the first device address 322n and then the first device PEC 324n are received. The order of the addresses 322a, . . . , 322n corresponds to the systems 100, 200, 250, with the host MCU 104 coupled to Device 1. Other orders for the payload section 320a and a corresponding system are possible and remain within the scope of the present disclosure. The command 350 is configured to assign (i.e., change) a new address to a device with an “old” address, as is evident to one skilled in the art.
The command 300 may be used with systems 100, 200, 250 to initially assign addresses to a plurality of devices in each system. The command 350 may be used with systems 100, 200, 250 to change the address(es) of one or more device(s) in the system. In this manner, address(es) may be assigned to device(s) after the devices have been assembled into a system.
Referring first to
Referring now to
If the bus controller's associated device is the targeted device, the bus controller may receive an address at operation 460. For example, the bus controller's associated device may be the targeted device if the command is a broadcast command, e.g., command 300. In another example, the bus controller's associated device may be the targeted device if the “old” address of command 350 corresponds to the address of the bus controller's associated device. If the command is a broadcast command and the command code corresponds to assign addresses, the bus controller is configured to control the associated device components, e.g., multiplexer and/or shift register, as described herein. At operation 460, the bus controller may buffer the received address, e.g., in its first shift register, and may perform error checking based on the PEC associated with the received address.
At operation 465, whether an end flag has been received may be determined. If an end flag has not been received, at operation 470, the device may output the address received at operation 460. Program flow may proceed to operation 460 to receive another address. If an end flag has been received, at operation 475, the address may be “latched”, corresponding to a new address for the device. Program flow may end at operation 450.
For example, referring to
For example, the first shift register 120 of Device 1 may be configured to provide the Nth device address, i.e., serial data, to the first multiplexer 122 and first output port 112 of Device 1. The first input port 110 of Device 2 is coupled to the first output port 112 of Device 1. The first shift register 120 of Device 2 may then receive the Nth device address. This process may continue until the first shift register 120 of Device N contains the Nth device address and/or an end flag is received. The first shift register 120 of Device 1 may then contain the first device address and the first shift registers 120 of the intervening devices may contain their corresponding addresses. An end flag may then be sent to the devices 102 and each device may then latch the address that is in each device's first shift register 120 as the device's new address.
In another example, referring to
Accordingly, based on the command structure 300, and the configuration of the systems 100, 200, 250 of devices, new, unique addresses may be assigned to a plurality of devices, after the devices have been assembled into a system. The bus controller in each device is configured to receive and interpret commands from the host MCU and to selectively couple a serial output port to a serial input port or a shift register. The shift register is configured to receive at least an address and may output the address, based on a command from the host MCU.
Advantageously, common devices may be manufactured without setting individual address(es) at the time of manufacturing facilitating a lower cost and relatively faster manufacturing process. A plurality of generally identical devices may be assembled together in a generally random order. Addresses may then be assigned to the plurality of devices, providing a cost savings based on volume production of generally identical devices. The addresses may be assigned serially, reducing a number of ports for each device, providing further cost savings for devices implemented in, e.g., integrated circuitry.
Of course, while
Memory 105 may comprise one or more of the following types of memory: semiconductor firmware memory, programmable memory, non-volatile memory, read only memory, electrically programmable memory, random access memory, flash memory, magnetic disk memory, and/or optical disk memory. Either additionally or alternatively, memory 105 may comprise other and/or later-developed types of computer-readable memory.
Embodiments of the methods described herein may be implemented using a processor and/or other programmable device. To that end, the methods described herein may be implemented on a tangible computer readable medium having instructions stored thereon that when executed by one or more processors perform the methods. The storage medium may include any type of tangible medium, for example, any type of disk including floppy disks, optical disks, compact disk read-only memories (CD-ROMs), compact disk rewritables (CD-RWs), and magneto-optical disks, semiconductor devices such as read-only memories (ROMs), random access memories (RAMs) such as dynamic and static RAMs, erasable programmable read-only memories (EPROMs), electrically erasable programmable read-only memories (EEPROMs), flash memories, magnetic or optical cards, or any type of media suitable for storing electronic instructions.
Unless specifically stated otherwise, as apparent from the preceding discussions, it is appreciated that throughout the specification discussions utilizing terms such as “operations,” “processing,” “computing,” “calculating,” “determining,” or the like, refer to the action and/or processes of a computer or computing system, or similar electronic computing device or apparatus, that manipulate and/or transform data represented as physical, such as electronic, quantities within the computing system's registers and/or memories into other data similarly represented as physical quantities within the computing system's memories, registers or other such information storage, transmission or display devices.
“Circuitry”, as used in any embodiment herein, may comprise, for example, singly or in any combination, hardwired circuitry, programmable circuitry, state machine circuitry, and/or firmware that stores instructions executed by programmable circuitry.
The terms and expressions which have been employed herein are used as terms of description and not of limitation, and there is no intention, in the use of such terms and expressions, of excluding any equivalents of the features shown and described (or portions thereof), and it is recognized that various modifications are possible within the scope of the claims. Accordingly, the claims are intended to cover all such equivalents.
Patent | Priority | Assignee | Title |
11245267, | Sep 10 2019 | Richtek Technology Corporation | Battery system, battery module and battery control circuit thereof |
9367506, | Jan 10 2013 | Accton Technology Corporation | Executive device and control method and electronic system thereof |
9824059, | Aug 30 2014 | Microsoft Technology Licensing, LLC | Child serial device discovery protocol |
Patent | Priority | Assignee | Title |
4580261, | Mar 29 1983 | Compagnie Industrielle des Telecommunications CIT-Alcated | System for exchanging encoded messages between stations |
4716354, | Nov 12 1985 | UNOVA, INC | Automatic voltage regulator means providing a dual low power responsive and output-voltage-controlling regulator signal particularly for a plural source battery powered system |
4723241, | Jul 28 1984 | U S PHILIPS CORPORATION | Data transmission arrangement including a reconfiguration facility |
4773005, | Sep 07 1984 | Tektronix, Inc. | Dynamic address assignment system |
4962378, | Nov 09 1987 | CIT GROUP BUSINESS CREDIT, INC , THE, A NEW YORK CORPORATION | Multi-user serial bus system |
5423050, | Nov 27 1991 | TERADATA US, INC | Intermodule test across system bus utilizing serial test bus |
5504413, | Jul 25 1995 | Amperex Technology Limited | Battery charging system with power management of plural peripheral devices |
5701068, | Apr 03 1995 | Electrosource, Inc. | Battery management system |
5841996, | Oct 13 1995 | Microchip Technology Incorporated | Serial communication interface system having programmable microcontroller for use in a battery pack |
5850351, | Apr 25 1996 | General Motors Corporation | Distributed management apparatus for battery pack |
5974475, | Jun 24 1997 | Microchip Technology Incorporated | Method for flexible multiple access on a serial bus by a plurality of boards |
6031354, | Feb 01 1996 | AIMS SYSTEMS, INC | On-line battery management and monitoring system and method |
6094053, | Nov 06 1995 | Ford Global Technologies, Inc | Method and apparatus for identifying electronic circuits in a distributed electronic system |
6172479, | Mar 04 1999 | Baxter International Inc. | Battery control circuit |
6281684, | Dec 27 1999 | Plug Power Inc.; PLUG POWER INC | Technique and apparatus to measure cell voltages of a fuel cell stack using different ground references |
6404166, | Jan 21 1997 | SANKEY & LUCK, LLP | Signalling system |
6462510, | Sep 11 1998 | Matsushita Electric Industrial Co., Ltd.; Toyota Jidosha Kabushiki Kaisha | Battery voltage detector |
6611774, | Aug 19 1998 | ENERSAFE, INC | Method and apparatus for the continuous performance monitoring of a lead acid battery system |
6762588, | Aug 29 2001 | HITACHI ASTEMO, LTD | Battery apparatus for controlling plural batteries and control method of plural batteries |
7020076, | Oct 26 1999 | California Institute of Technology | Fault-tolerant communication channel structures |
7023845, | Jun 13 2000 | Ciena Corporation | Network device including multiple mid-planes |
7034540, | Sep 28 2001 | Fuji Jukogyo Kabushiki Kaisha | Voltage detection circuit for storage devices |
7466104, | Oct 13 2006 | O2 Micro International Limited | System and method for balancing cells in a battery pack with selective bypass paths |
7489030, | Dec 08 2005 | Longitude Licensing Limited | Stacked semiconductor device |
7511457, | Apr 30 2004 | HITACHI ASTEMO, LTD | Multi-series battery control system |
7615966, | May 25 2001 | Texas Instruments Northern Virginia Incorporated | Method and apparatus for managing energy in plural energy storage units |
8015452, | Aug 31 2010 | O2MICRO INTERNATIONAL, LIMITED | Flexible bus architecture for monitoring and control of battery pack |
8022669, | Jan 06 2009 | O2Micro International Limited | Battery management system |
20010037482, | |||
20040019441, | |||
20040164706, | |||
20040225810, | |||
20050275389, | |||
20060072262, | |||
20060136609, | |||
20060259280, | |||
20070182377, | |||
20080088277, | |||
20090144471, | |||
20100173180, | |||
20100259221, | |||
20110012638, | |||
20110140533, | |||
20110309799, | |||
20110313613, | |||
CN1319189, | |||
JP2001307782, | |||
JP2003111297, | |||
JP2005033951, | |||
JP2007158237, | |||
JP2007252175, | |||
JP2009027916, | |||
WO5596, | |||
WO2006068429, | |||
WO9527358, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Aug 10 2010 | O2Micro International Limited | (assignment on the face of the patent) | / | |||
Aug 13 2010 | ZENG, XIAOJUN | O2Micro, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 025100 | /0576 | |
Aug 13 2010 | SHENG, KAIYI | O2Micro, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 025100 | /0576 | |
Mar 06 2012 | O2Micro, Inc | O2Micro International Limited | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 027827 | /0158 |
Date | Maintenance Fee Events |
Apr 23 2014 | ASPN: Payor Number Assigned. |
Jul 01 2016 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Jun 03 2020 | SMAL: Entity status set to Small. |
Jul 01 2020 | M2552: Payment of Maintenance Fee, 8th Yr, Small Entity. |
Jul 01 2024 | M2553: Payment of Maintenance Fee, 12th Yr, Small Entity. |
Date | Maintenance Schedule |
Jan 01 2016 | 4 years fee payment window open |
Jul 01 2016 | 6 months grace period start (w surcharge) |
Jan 01 2017 | patent expiry (for year 4) |
Jan 01 2019 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jan 01 2020 | 8 years fee payment window open |
Jul 01 2020 | 6 months grace period start (w surcharge) |
Jan 01 2021 | patent expiry (for year 8) |
Jan 01 2023 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jan 01 2024 | 12 years fee payment window open |
Jul 01 2024 | 6 months grace period start (w surcharge) |
Jan 01 2025 | patent expiry (for year 12) |
Jan 01 2027 | 2 years to revive unintentionally abandoned end. (for year 12) |