Patent Description:
The popularity of various portable electronic devices has exploded the past several years and the public's fascination and desire for new devices shows no signs of abating. Along with this increase in popularity, the number of types of these portable devices has grown considerably, and the functionality of these devices has diversified tremendously.

Interestingly, this diversification has become so thorough that it has begun to lead to a convergence. One such convergence is occurring with portable computing devices.

Smaller devices, such as phones, can now be used to perform functions that were previously limited to larger computing devices. These go beyond native functions, such as actually calling people, and include listening to music, watching movies, viewing documents, surfing the web, and reading email. Larger devices, such as netbooks, are slimming down to ultraportable size by jettisoning their optical drives and other functionality.

The evolution of these devices is thus converging towards a common destination: the portable computing device. These portable computing devices may handle various functions currently assigned to phones and netbooks. They may be used to listen to music, watch movies, view and edit documents, surf the web, read email and books, as well as myriad other functions.

Users of these portable computing devices often place them in a docking station. These docking stations may provide mechanical support for the portable computing devices, holding them in place in a roughly upright manner so that the screen can be viewed easily. Other accessories may be used with these portable computing devices as well. These accessories often provide power to the portable computing device, which is used to run circuitry on the portable computing device and to charge its internal battery.

These portable computing devices have comparatively large batteries and a correspondingly large current is required to charge them. But while the portable computing device's batteries are charging, the accessories require current for their operation. Also, some accessories may only be able to safely supply a certain amount of current.

Thus, what is needed are methods, apparatus, and circuits for managing power among these portable computing devices and one or more accessories.

<CIT> relates to an adaptive battery charger for charging batteries used in portable electronic devices, which monitors power provided from an AC adapter to the portable electronic device, and adaptively utilizes all available power from the AC adapter for charging the batteries, both when the portable electronic device is off, and when it is in use.

<CIT> relates to a charging device having a built-in power storage unit. By means of the built-in power storage unit in the charging device, the power storage unit enters a discharge mode to provide power to a portable electronic product or to charge its battery when the external power is not available.

The present invention provides a portable electronic device, an accessory of a portable electronic device, and methods for operating the same, as set out in the appended independent claims.

The embodiment of the present invention provides a method of operating an accessory. In this method, the accessory establishes a connection with a portable computing device. The accessory then provides a request to the portable computing device inquiring whether the accessory should use a first power source or a second power source to power the accessory. The accessory then receives an instruction indicating which power source to use to power the accessory. The accessory then uses the indicated power source to power itself.

Various embodiments of the present invention may incorporate one or more of these and the other features described herein. A better understanding of the nature and advantages of the present invention may be gained by reference to the following detailed description and the accompanying drawings.

<FIG> illustrates an electronic system that may be improved by the incorporation of embodiments of the present invention. This figure, as with the other included figures, is shown for illustrative purposes only, and does not limit either the possible embodiments of the present invention or the claims.

This figure includes portable computing device <NUM> and accessory <NUM>. In this example, accessory <NUM> is a docking station, though in other examples accessory <NUM> may be other types of devices, such as radios, monitors, interactive displays, and others. In this example, portable computing device <NUM> is a tablet computer, though in other systems it may be other types of devices, such as a portable media player, cell phone, monitor, or other electronic device.

Accessory <NUM> may include insert <NUM> having insert opening <NUM>. Portable computing device <NUM> may have one or more receptacles <NUM> and <NUM>. These receptacles <NUM> and <NUM> may include receptacle tongues <NUM>. When portable computing device <NUM> is mated with accessory <NUM>, insert <NUM> may fit in either receptacle <NUM> or <NUM>. The corresponding receptacle tongue <NUM> may fit into insert opening <NUM>. Contacts (not shown) on receptacle tongue <NUM> form electrical connections with contacts in insert opening <NUM>. These electrical connections form pathways for power and signals that may be shared between accessory <NUM> and portable computing device <NUM>.

Accessory <NUM> and portable computing device <NUM> may include various electronic circuitry for managing and sharing power and data signals. Examples of these circuits are shown in the following figure.

<FIG> is a simplified block diagram of a system <NUM> including portable computing device <NUM> and accessory <NUM> according to an embodiment of the present invention. In this embodiment, portable computing device <NUM> (e.g., implementing portable computing device <NUM> of <FIG>) can provide computing, communication and/or media playback capability. Portable computing device <NUM> can include processor <NUM>, storage device <NUM>, user interface <NUM>, power control <NUM>, network interface <NUM>, and accessory input/output (I/O) interface <NUM>. Portable computing device <NUM> can also include other components (not explicitly shown) to provide various enhanced capabilities.

Storage device <NUM> can be implemented using disk, flash memory, or any other nonvolatile storage medium. In some embodiments, storage device <NUM> can store media assets such as audio, video, still images, or the like, that can be played by portable computing device <NUM>. Storage device <NUM> can also store other information such as a user's contacts (names, addresses, phone numbers, etc.); scheduled appointments and events; notes; and/or other personal information. In some embodiments, storage device <NUM> can store one or more application programs to be executed by processor <NUM> (e.g., video game programs, personal information management programs, media playback programs, etc.).

User interface <NUM> can include input devices such as a touch pad, touch screen, scroll wheel, click wheel, dial, button, switch, keypad, microphone, or the like, as well as output devices such as a video screen, indicator lights, speakers, headphone jacks, or the like, together with supporting electronics (e.g., digital-to-analog or analog-to-digital converters, signal processors, or the like). A user can operate input devices of user interface <NUM> to invoke the functionality of portable computing device <NUM> and can view and/or hear output from portable computing device <NUM> via output devices of user interface <NUM>.

Processor <NUM>, which can be implemented as one or more integrated circuits (e.g., a conventional microprocessor or microcontroller), can control the operation of portable computing device <NUM>. In various embodiments of the present invention, processor <NUM> can execute a variety of programs in response to program code and can maintain multiple concurrently executing programs or processes. At any given time, some or all of the program code to be executed can be resident in processor <NUM> and/or in storage media, such as storage device <NUM>.

Through suitable programming, processor <NUM> can provide various functionality for portable computing device <NUM>. For example, in response to user input signals provided by user interface <NUM>, processor <NUM> can operate a database engine to navigate a database of media assets stored in storage device <NUM> in response to user input and display lists of selected assets. Processor <NUM> can respond to user selection of an asset (or assets) to be played by transferring asset information to a playback engine also operated by processor <NUM>, thus allowing media content to be played. Processor <NUM> can also operate other programs to control other functions of portable computing device <NUM>. In some embodiments, processor <NUM> implements a protocol daemon and other programs to manage communication with one or more connected accessories (e.g., accessory <NUM>), examples of which are described below.

Power manager <NUM> provides power management capability for portable computing device <NUM>. For example, power manager <NUM> can deliver power from a battery (not explicitly shown) to accessory I/O interface <NUM> via line <NUM> and to other components of portable computing device <NUM> (power connections not shown). Power manager <NUM> can also receive power via accessory I/O interface <NUM> and line <NUM> and deliver received power to various components of portable computing device <NUM>. Power received from accessory <NUM> can also be delivered to the battery, thereby allowing the battery to be recharged via accessory I/O interface <NUM>. In some embodiments, power manager <NUM> can be implemented using programmable or controllable circuits operating in response to control signals generated by program code executing on processor <NUM> or as a separate microprocessor or microcontroller.

In some embodiments, power manager <NUM> is responsive to signals from a sensor (not explicitly shown) in accessory I/O interface <NUM>. The sensor can generate a signal indicative of the type of accessory connected, and power manager <NUM> can use this information to determine, e.g., whether to distribute power from the battery or power received from accessory I/O interface <NUM>. Power manager <NUM> can also provide other power management capabilities, such as regulating power consumption of other components of portable computing device <NUM> based on the source and amount of available power, monitoring stored power in the battery and generating user alerts if the stored power drops below a minimum level, and so on.

Network interface <NUM> can provide voice and/or data communication capability for portable computing device <NUM>. In some embodiments of the present invention, network interface <NUM> can include radio frequency (RF) transceiver components for accessing wireless voice and/or data networks (e.g., using cellular telephone technology, advanced data network technology such as <NUM> or EDGE, WiFi (IEEE <NUM> family standards), or other mobile communication technologies, or any combination thereof), GPS receiver components, and/or other components. In some embodiments network interface <NUM> can provide wired network connectivity (e.g., Ethernet) in addition to, or instead of, a wireless interface. Network interface <NUM> can be implemented using a combination of hardware (e.g., antennas, modulators/demodulators, encoders/decoders, and other analog and/or digital signal processing circuits) and software components.

Accessory I/O interface <NUM> can allow portable computing device <NUM> to communicate with various accessories. For example, accessory I/O interface <NUM> can support connections to a computer, an external speaker dock or media playback station, a digital camera, a radio tuner (e.g., FM, AM and/or satellite), an in-vehicle entertainment system, an external video device, card reader, disc reader, or the like. In accordance with some embodiments of the invention, accessory I/O interface <NUM> can support connection to multiple accessories in a daisy chain configuration, allowing portable computing device <NUM> to manage concurrent communication with multiple accessories. This can be done, for example, by associating multiple virtual ports with a physical communication port provided by accessory I/O interface <NUM>.

In some embodiments, accessory I/O interface <NUM> can include a connector, such as a <NUM>-pin connector corresponding to the connector used on iPod(R) and iPhone[deg. ] products, as well as supporting circuitry. The connector can provide connections for power and ground as well as for various wired communication interfaces, such as Universal Serial Bus (USB), FireWire (IEEE <NUM> standard), and/or universal asynchronous receiver/transmitter (UART). The connector can also provide connections for audio and/or video signals, which may be transmitted to or from portable computing device <NUM> in analog and/or digital formats. Thus, accessory I/O interface <NUM> can support multiple communication channels, and a given accessory can use any or all of these channels.

Accessory <NUM> can include controller <NUM>, user input device <NUM>, audio/video output device <NUM>, power manager <NUM>, power supply <NUM> and PCD I/O interface <NUM>. Accessories can vary widely in capability, complexity, and form factor. Various accessories may include components that are not shown, and may include, but are not limited to, storage devices (disk, flash memory, etc.) with fixed or removable storage media; camera components such as lenses, image sensors, and controls for same (e.g., aperture, zoom, exposure time, frame rate, etc.); microphones for recording audio (either alone or in connection with video recording); and so on.

Controller <NUM> can include a microprocessor or microcontroller executing program code to perform various operations associated with accessory <NUM>. For example, where accessory <NUM> incorporates a sound and/or video system, program code executed by controller <NUM> can include programs for digital audio decoding, analog or digital audio processing, and the like. Where accessory <NUM> incorporates a digital camera, program code executed by controller <NUM> can include programs that allow a user to control the camera to adjust settings, capture images, display images, transfer image data to another electronic apparatus, etc..

User input device <NUM> may include user-operable controls such as a touch pad, touch screen, scroll wheel, click wheel, dial, button, switch, keyboard, keypad, microphone, or the like. A user can operate the various input controls of user interface <NUM> to invoke functionality of accessory <NUM>, and such functionality may include exchanging control signals, data, or other communications with portable computing device <NUM>, either directly or via an intermediary.

In some embodiments, accessory <NUM> can also provide output devices, such as audio/video output device <NUM>. In some embodiments, audio/video output device <NUM> can include speakers and/or connection ports for connecting external speakers or headphones; a video screen and/or a connection port for connecting an external video screen, indicator lights, or the like, together with supporting electronics (e.g., digital-to-analog or analog-to-digital converters, signal processors or the like). These components can be coupled to receive audio and/or video signals via PCD I/O interface <NUM>. Such components can allow the user to view and/or hear output from accessory <NUM>.

Power manager <NUM> can provide power management capability for accessory <NUM>. For example, power manager <NUM> can be configured to receive power from a power supply <NUM>. In some embodiments, power supply <NUM> can include a connection to an external power source (e.g., the standard electric grid); for example, power supply <NUM> can include an AC-DC converter that can be internal or external to accessory <NUM>. In other embodiments, power supply <NUM> can include a battery or other energy storage device. Power manager <NUM> can deliver power from power supply <NUM> to various components of accessory <NUM>. In addition, in some embodiments, power manager <NUM> can deliver power to upstream accessories via PCD I/O interface <NUM>.

PCD I/O interface <NUM> can allow accessory <NUM> to communicate with portable computing device <NUM>, either directly or through an intermediary. In accordance with some embodiments of the invention, PCD I/O interface <NUM> can incorporate a USB interface. For example, PCD I/O interface <NUM> can provide a standard, mini, or micro USB port. In other embodiments, PCD I/O interface <NUM> can include a connector that can mate directly with a connector included in a portable computing device, such as a <NUM>-pin connector that mates with the connector used on various iPod(R) products. Such a connector can be used to supply power to or receive power from portable computing device <NUM>, to receive audio and/or video signals in analog and/or digital formats, and to communicate information via various interfaces, such as USB, UART, and/or FireWire.

Accessory <NUM> can be any electronic apparatus that interacts with portable computing device <NUM>. In some embodiments, accessory <NUM> can provide remote control over operations of portable computing device <NUM>, or a remote user interface that can include both input and output controls (e.g., a display screen). Accessory <NUM> can control various functions of portable computing device <NUM> and can also receive media content from portable computing device <NUM> and present such content to the user (e.g., through audio speakers and/or video display screen, depending on the type of media content). In other embodiments, portable computing device <NUM> can control operations of accessory <NUM>, such as retrieving stored data from a storage medium of accessory <NUM>, initiating an image capture operation by a camera incorporated into accessory <NUM>, etc. As noted above, communication between accessory <NUM> and portable computing device <NUM> can be direct or through an intermediary source, and the presence or absence of an intermediary can be transparent to accessory <NUM>.

It will be appreciated that the system configurations and components described herein are illustrative and that variations and modifications are possible. The portable computing devices and accessories may have other capabilities not specifically described herein. For example, they may incorporate mobile phone, global positioning system (GPS), broadband data communication, Internet connectivity, and the like.

Connectors at the various interfaces can be complementary or not as desired. Where two connectors are not complementary, an adapter can be provided to connect the two devices. While connectors may be described herein as having pins, a term generally associated with conventional electronic devices having wires to connect components, it is to be understood that other signal paths (e.g., optical signaling) can be substituted. Further, in some embodiments, some of the connections can be wireless, and connectors can be omitted where wireless interfaces are provided.

Further, while the portable computing devices and accessories are described herein with reference to particular blocks, it is to be understood that these blocks are defined for convenience of description and are not intended to imply a particular physical arrangement of component parts. Further, the blocks need not correspond to physically distinct components. Blocks can be configured to perform various operations, e.g., by programming a processor or providing appropriate control circuitry, and various blocks might or might not be reconfigurable depending on how the initial configuration is obtained. Embodiments of the present invention can be realized in a variety of apparatus including electronic devices implemented using any combination of circuitry and software.

<FIG> illustrates an electronic system that is improved by the incorporation of an embodiment of the present invention. This figure includes power supply <NUM>, accessory <NUM>, and portable computing device <NUM>. Power source <NUM> may couple to a wall outlet or other power supply, such as a car outlet. Power supply <NUM> may provide power to accessory <NUM>. Portable computing device <NUM> may connect to accessory <NUM> either directly or via a cable or other electronic pathway.

Power provided by power supply <NUM> can be used to power accessory <NUM> and portable computing device <NUM>. A battery (not shown) internal to portable computing device <NUM> may be charged using power from power source <NUM>. It is desirable that the power provided by power source <NUM> be managed efficiently. Accordingly, embodiments of the present invention provide commands and supporting circuitry whereby portable computing device <NUM> may communicate with accessory <NUM> or other electronic device regarding the electronic system's power management.

In some embodiments, a portable computing device and an accessory can communicate while connected by exchanging commands and data according to a portable-computing-device-to-accessory-protocol, also referred to herein as an "accessory protocol. " The commands and data can be communicated using any wired or wireless transport medium provided by the relevant interfaces.

The accessory protocol defines a format for messages to be exchanged between a portable computing device and any accessories connected thereto. For instance, the accessory protocol may specify that each message (also referred to herein as a command) is sent in a packet with a header and an optional payload. The header provides basic information (e.g., a start indicator, length of the packet, and a command code identifying a command to be processed by the recipient), while the payload provides any data associated with the command; the amount of associated data can be different for different commands, and some commands may provide for variable-length payloads. In some embodiments, the commands may be defined such that any particular command code is valid in only one direction. The packet can also include error-detection or error-correction codes as known in the art.

The accessory protocol can define a number of "lingoes," where a "lingo" is a group of related commands that can be supported (or unsupported) by various classes of accessories. In one embodiment, a command code can include a first byte identifying the lingo to which the command belongs and a second byte identifying the particular command within the lingo. Other command structures may also be used. It is not required that all accessories, or all portable computing devices to which an accessory can be connected, support every lingo defined within the accessory protocol.

In some embodiments, every accessory and every portable computing device that use the accessory protocol support at least a "general" lingo that includes commands common to the portable computing device and all accessories. The general lingo can include commands enabling the portable computing device and the accessory to identify and authenticate themselves to each other and to provide general information about their respective capabilities, including which (if any) other lingoes each supports. The general lingo can also include authentication commands that the portable computing device can use to verify the purported identity and capabilities of the accessory (or vice versa), and the accessory (or portable computing device) may be blocked from invoking certain (or all) commands or lingoes if the authentication is unsuccessful.

An accessory protocol can also include various other lingoes, such as a simple remote lingo that allows an accessory to send a command indicating a function of the portable computing device to be invoked; a remote user interface lingo that can be used to communicate commands and data related to replicating all or part of a user interface of a portable computing device on an accessory (thereby supporting a more advanced remote control), a tuner lingo that allows a user to control a tuner accessory by operating the portable computing device and/or to control a tuner in the portable computing device by operating an accessory, a storage lingo that allows an accessory to store data on the portable computing device, and so on. Any lingo or combination of lingoes or other commands or groups of commands can be used in connection with an accessory protocol.

In various embodiments of the present invention, these commands may be sent as packets. These packets may include information regarding power management activities. An example of such a packet is shown in the following figure.

<FIG> illustrates a packet format for conveying commands that may be employed by an embodiment of the present invention. This packet includes preamble or synchronizing information <NUM>, which is followed by packet start field <NUM>. A load length for the packet is identified in field <NUM>. The lingo to which the command belongs is identified in field <NUM>. The command itself is identified in field <NUM>. The command data follows in field <NUM>. A checksum or CRC may be performed using field <NUM>.

The commands included in embodiments of the present invention are of two types, specifically, set and get commands. Set commands instruct a receiving device to set an internal value. Get commands request information from the receiving device. An example of activities in a system employing set commands is shown in the following figure.

<FIG> illustrates the flow of commands and information between an accessory and portable computing device when utilizing set commands. In this example, acknowledgment signals that indicate that a command has been received are employed. Also in this example, set commands may travel from the accessory to a portable computing device, or from the portable computing device to an accessory.

In act <NUM>, a set command and corresponding data may be sent by an accessory. In act <NUM>, the set command and data may be received by a portable computing device. In act <NUM>, an acknowledgement may be sent by the portable computing device, and received by the accessory in act <NUM>. In act <NUM>, a portable computing device may act on the set command and data.

In various embodiments of the present invention, an acknowledgement may be structured such that it identifies the received command that it is acknowledging. For example, the portable computing device may send an acknowledgment identifying that a specific command and data was received. In other embodiments of the present invention, the set command and data sent by the accessory in act <NUM> may have an identification number associated with it. In this case, the acknowledgment sent by the portable computing device in act <NUM> may include that identification number. The identification number may be tracked using a counter or other mechanism.

Again, in general, set commands may be initiated by either an accessory or a portable computing device. Accordingly, in act <NUM>, a set command and data may be sent by the portable computing device. The set command and data may be received by an accessory in act <NUM>. In act <NUM> an acknowledgement may be sent by the accessory and received by the portable computing device in act <NUM>. In act <NUM>, the accessory can act on the set command and data.

In various embodiments of the present invention, notifications may be used. A notification differs from the acknowledgment in that an acknowledgment indicates that a command and data has been received, whereas a notification indicates that the command and data have been acted on. In typical systems that are consistent with embodiments of the present invention, a portable computing device generates a large number of notifications. Accordingly, to reduce traffic between an accessory and the portable computing device, an accessory may register for notifications. That is, the accessory may request that it receives notifications of certain types of activities performed by a portable computing device. On the other hand, in typical systems, portable computing devices do not register for notifications from an accessory, since an accessory typically does not generate a large number of notifications. Accordingly, it is common for an accessory to provide all notifications to the portable computing device. Examples of this are shown on the following figure.

<FIG> illustrates command and data communication between an accessory and a portable computing device where both acknowledgments and notifications are employed. In act <NUM>, an accessory may register for notifications. This registration may be received in act <NUM> by a portable computing device. This registration may inform the portable computing device that the accessory would like notifications when the portable computing device performs certain classes or types of functions. In act <NUM>, a set command and data may be sent from the accessory to the portable computing device. In act <NUM>, the set command and data may be received by the portable computing device. An acknowledgement may be sent in act <NUM> by the portable computing device and received by the accessory in act <NUM>. In act <NUM>, the portable computing device acts on the set command and data. Once this activity is complete, a notification may be sent by the portable computing device in act <NUM>. The notification may be received in act <NUM>. At this time, the accessory may learn that the portable computing device has updated itself and will act in a manner consistent with the command and data sent in act <NUM>.

Again, a portable computing device typically does not register for notifications with an accessory, though this may be performed in some embodiments of the present invention. In this example, the accessory may send notifications for each of the activities. In act <NUM>, a set command and data may be sent from the portable computing device and received by the accessory in act <NUM>. In act <NUM>, an acknowledgment may be sent from the accessory and received by the portable computing device in act <NUM>. In act <NUM>, the accessory may act on the set command and data. Once this activity is complete, a notification may be sent in act <NUM> from the accessory and received in act <NUM> by the portable computing device.

In various situations, one device may ensure that another device is operating in a specific manner by instructing it to do so using a set command and data. On occasion, one device may need to retrieve information regarding a function parameter from the other device. In such a situation, the get command may be used. As with set commands, a get command may be initiated by either an accessory or a portable computing device. With these commands, acknowledgements or notifications are not needed, since the return of the requested information implies both the acknowledgement and notification functions. An example is shown in the following figure.

<FIG> illustrates the flow of get and return commands in an electronic system including an accessory and a portable computing device. In act <NUM>, an accessory may send a get command to a portable computing device, which receives it in act <NUM>. In act <NUM>, the portable computing device may retrieve the requested data. Often, this may be as simple as reading a value from a register. In act <NUM>, the portable computing device may return the requested data, which may be received by the accessory in act <NUM>.

Again, either the accessory or portable computing device may initiate a get command. Accordingly, in act <NUM>, a get command may be provided by portable computing device to an accessory. In act <NUM>, the accessory may receive the get command and data and retrieve the requested data in act <NUM>. After the data has been retrieved, the requested data may be returned by the accessory in act <NUM>, and received by the portable computing device in act <NUM>.

In various embodiments of the present invention, various commands may be used for specific functions, and these commands may be used in a specific direction. Some commands employed by various embodiments of the present invention, their typical direction, and their payloads, are listed in the following figure.

<FIG> is a table listing commands employed by various embodiments of the present invention to manage power between an accessory and a portable computing device. The typical direction of flow is also shown, as it is the command's typical payload. Each of these commands is further elaborated upon in the following figures.

<FIG> illustrates an electronic system according to an unclaimed example. This figure includes power source <NUM>, accessory <NUM>, and portable computing device <NUM>. Power source <NUM> may provide power for both accessory <NUM> and portable computing device <NUM>. In such a system, portable computing device <NUM> may wish to charge its internal battery at a high a rate as possible. Accordingly, portable computing device <NUM> would like to use any current not needed for operation of accessory <NUM>.

Accessory <NUM> may determine the current capability of power source <NUM>. In various unclaimed examples, this may be achieved by reading either voltage levels or resistor values on one or more pins or signal lines provided by power supply <NUM>. In a specific unclaimed example, power source <NUM> may provide power over a USB type connection, where voltage levels or values of resistors on the USB data lines indicate the current capability of power source <NUM>. In other unclaimed examples, other types of identification, such as an identification resistor, may be used. For example, power source <NUM> may provide a signal or other indication as to its current capability. Accessory <NUM> can deduct the operating current that it requires from this available current. The net available current may be sent to portable computing device <NUM> using the SetAvailableCurrent command. This command may include the current limit that portable computing device <NUM> should use. The operations performed by accessory <NUM> and portable computing device <NUM> are shown in the following figure.

<FIG> illustrates the activities performed by an accessory and a portable computing device according to an unclaimed example. In act <NUM>, the accessory may determine a current capability of a power source. In act <NUM>, the accessory may deduct its own current requirements from the current capability of the power source to determine a net current. In act <NUM>, this net current may be sent as part of a SetAvailableCurrent command to the portable computing device, which receives the set command in act <NUM>. In act <NUM>, an acknowledgment may be sent by the portable computing device and received by the accessory in act <NUM>. In act <NUM>, the portable computing device may set the available current level to the net current. After this, the portable computing device may draw a current not exceeding the net current provided by the accessory in act <NUM>. The portable computing device may provide a notification of this change to the accessory at this time.

<FIG> illustrates a method of controlling a level of current drawn by a portable computing device according to an unclaimed example. In act <NUM>, a connection may be established between an accessory and a portable computing device. In act <NUM>, the accessory may receive power from an external power source. The accessory may determine a current capability of the external power source in act <NUM>. In act <NUM>, the accessory may determine a net current capability by deducting the required operating current from the current capability of the external power source. Again, this may ensure that the accessory has enough power to operate properly. In act <NUM>, the accessory may signal via the connection to the portable computing device that the portable computing device should draw a current having a limit equal to the net current capability.

In the above example, the accessory may determine the current capability of the power source. In other unclaimed examples, the portable computing device may determine the current capability of the power source. The portable computing device may achieve this by reading resistor values or voltage levels on lines provided by the power source. In a specific unclaimed example, the accessory acts as a passthrough for these pins. This allows the portable computing device to read resistor values or voltage levels on these lines directly. In other unclaimed examples, the accessory may read these resistor values or voltage levels and pass the resistor values or voltage levels on to the portable computing device. An example is shown on the following figures.

<FIG> illustrates an electronic system according to an unclaimed example. In this system, portable computing device <NUM> may determine the current capability of power source <NUM>. Accessory <NUM> may communicate the operating current that it requires to portable computing device <NUM> using the SetReserveCurrent command. This command may include in its payload the current that accessory <NUM> requires for its operation. Portable computing device <NUM> may then draw a current having a limit that is the current capability of power source <NUM> less the operating current needed by accessory <NUM>. Again, this ensures that accessory <NUM> has sufficient operating current and is not current-starved by portable computing device <NUM>.

<FIG> illustrates the activities performed by an accessory and a portable computing device according to an unclaimed example. In act <NUM>, an accessory may determine its current requirements. In act <NUM>, the portable computing device may determine the current capability of a power source. In act <NUM>, the accessory may send its current requirements to the portable computing device, which receives them in act <NUM>. An acknowledgment can be sent in act <NUM>, and received by the accessory in act <NUM>. In act <NUM>, the portable computing device may deduct current requirements of the accessory from the current capability of the power source to determine a net current. In act <NUM>, the portable computing device may set an available current to the net current. Following this, the portable computing device may draw a current having a limit equal to the net current determined in act <NUM>. A notification may be sent by the portable computing device to the accessory at this time.

<FIG> is a flowchart illustrating the activities performed by an accessory and a portable computing device according to an unclaimed example. In act <NUM>, a connection may be established between the portable computing device and the accessory. In act <NUM>, the portable computing device may receive an indication of a current capability of an external power source power from an accessory. The portable computing device may receive an instruction from the accessory indicating a current requirement for the accessory in act <NUM>. In act <NUM>, the portable computing device may determine a net current capability by deducting the current requirement of the accessory from the current capability of the external power source. In act <NUM>, the portable computing device may draw a current having a limit equal to the net current capability determined in act <NUM>.

In some systems, a power source may indicate that it can provide current at a first level. However, a cable used to connect a power source to an accessory or portable computing device may not be able to supply current at this first level, and may only be able to provide a current at a lower, second level. In such a situation, it is desirable that the cable be able to indicate that a portable computing device should only draw current at the lower, second level. Examples of how this is done are shown in the following figures.

<FIG> illustrates an electronic system according to an unclaimed example. In this example, power source <NUM> may provide power to portable computing device <NUM> via cable <NUM> and cable insert <NUM>. Cable insert <NUM> mates with a connector receptacle (not shown) on the portable device <NUM>.

Power source <NUM> may provide an indication that it can supply current at a first level. Portable computing device <NUM> may then read this indication that it can draw current at the first level. Cable <NUM> then informs portable computing device <NUM> that cable <NUM> can provide current only at a lower second level. Cable <NUM> may do this using the SetMaxCurrent command. Accordingly, portable computing device <NUM> may draw current at the second, lower level, thereby protecting cable <NUM>. A diagram illustrating these activities is shown in the following figure.

<FIG> illustrates the activities of a cable and a portable computing device according to an unclaimed example. In act <NUM>, the cable may determine its current limit. This current limit may be sent in act <NUM> to the portable computing device. In act <NUM>, the portable computing device may determine a current limit for the power source. The portable computing device may set this as a current limit in act <NUM>. In act <NUM>, the portable computing device may receive the current limit for the cable. In act <NUM> the portable computing device may send an acknowledgment, which is received by the cable in act <NUM>. In act <NUM>, the current limit for the portable computing device may be set to the lower current limit of the cable, thereby protecting the cable.

<FIG> is a flowchart illustrating the activities of a cable and a portable computing device according to an unclaimed example. In act <NUM>, a connection may be established between the portable computing device and a power source via the cable. In act <NUM>, the portable computing device may receive an indication that the power source can supply current at a first level. The portable computing device may receive an indication that the cable can only supply current at a lower, second level in act <NUM>. Accordingly, in act <NUM>, the portable computing device may draw a current having a limit equal to the lower second level.

In some unclaimed examples, a battery pack may be used to supply power to a portable computing device. In such a situation, it may be desirable that the power from the battery pack not be used to charge an internal battery of the portable computing device. By not having the portable computing device charge its internal battery, but merely operate using the current from a battery pack, the resulting power losses due to charge transfer from the battery pack to the internal battery are eliminated. An example is shown in the following figures.

<FIG> illustrates an electronic system according to an unclaimed example. In this example, battery pack <NUM> may provide power to portable computing device <NUM> via cable <NUM> and cable insert <NUM>. In this example, battery pack <NUM> may send a command to portable computing device <NUM> to not charge the internal battery. Similarly, battery pack <NUM> may send a command instructing the portable computing device <NUM> to charge its internal battery. The battery pack may do this using the SetBatteryCharging command. The payload for this command may include a bit indicating whether portable computing device <NUM> should charge its internal battery. After receiving a command to not charge its internal battery, portable computing device <NUM> may draw a current sufficient to operate its circuitry, but portable computing device <NUM> does not charge its internal battery. Examples of the activities performed by the elements of this system are shown in the following figure.

<FIG> illustrates the activities of a battery pack and a portable computing device according to an unclaimed example. In act <NUM>, a command to not charge an internal battery may be sent from the battery pack and received by the portable computing device in act <NUM>. An acknowledgement may be sent in act <NUM>, and may be received by the battery pack in act <NUM>. In act <NUM>, the portable computing device may operate its circuitry using power from the battery pack, but does not charge its internal battery. A notification of this change may be sent from the portable computing device to the battery pack.

<FIG> illustrates a flowchart of the activities of a battery pack and a portable computing device according to an unclaimed example. In act <NUM>, a connection may be established between the portable computing device and the battery pack. In act <NUM>, the portable computing device may receive a command to operate its circuitry using current from the battery pack without charging its internal battery. Accordingly, the portable computing device may draw a current to operate its internal circuitry but does not charge its internal battery in act <NUM>.

In various embodiments of the present invention, an accessory and a portable computing device may share more than one power line. In a specific embodiment of the present invention, a USB power supply and an accessory power supply may be shared between an accessory and a portable computing device. In such a situation, an accessory may draw current from either supply. In this arrangement, power may be supplied by a power source over the USB lines. The portable computing device may prefer that the accessory take its power requirements from the USB power supply, thereby leaving the remaining USB power for the portable computing device. Alternately, the portable computing device may prefer to receive all the available power from the USB line and return power to the accessory using the accessory power supply.

Reasons for this include improved flexibility regarding the amount of current that the portable computing device can draw. For example, in a specific embodiment of the present invention, a power source may provide, for example, <NUM> amps of current. An accessory may require <NUM> amps of current for its operation. In a particular embodiment of the present invention, the accessory can instruct the portable computing device to draw either <NUM> or <NUM> amps of current. Since <NUM> amps is available to the portable computing device, the accessory instructs the portable computing device to draw <NUM> amps. Accordingly, an internal battery of the portable computing device cannot charge as fast as it would if it could receive the entire <NUM> amps. Thus, the portable computing device may wish to draw the draw <NUM> amps available on the USB supply, and return <NUM> amps to the accessory using the accessory supply line. This arrangement leaves a net <NUM> amps for the operation of the portable computing device and for charging its internal battery. Examples of this are shown in the following figures.

<FIG> illustrates an electronic system according to embodiment of the present invention. Power source <NUM> may provide current to accessory <NUM> and portable computing device <NUM>. Portable computing device <NUM> and accessory <NUM> may share first and second power lines <NUM> and <NUM>. Accessory <NUM> may send a command to portable computing device <NUM> asking which power line it should use. Accessory <NUM> may do this using the GetPrefPower command. This command may include in its payload a current needed if the first power line is used and a current that may be needed if a second power line is used. Portable computing device <NUM> may then instruct accessory <NUM> to use the first or the second power line <NUM> and <NUM>, using the RetPerfPower command. This command identifies the power source to use in its payload.

Specifically, first power line <NUM> may convey a USB power supply. This power supply may be derived from power source <NUM> by power manager <NUM> in accessory <NUM>. Power manager <NUM> may provide this power on power line <NUM> to power control <NUM> in portable computing device <NUM>. Power control <NUM> may charge battery <NUM> in portable computing device <NUM> over line <NUM> using this power and provide current for the operation of other circuitry. Battery <NUM> may return power on line <NUM> to power control <NUM>. Power control <NUM> may provide this battery power as an accessory power on second power line <NUM> to power manager <NUM>. With this configuration, accessory <NUM> may be powered directly from the USB power on first power line <NUM>, or it may receive power via battery <NUM> on second power line <NUM>. The activities performed by the devices in this figure are shown in the following figure.

<FIG> illustrates the activities performed by an accessory and portable computing device according to an embodiment of the present invention. In act <NUM>, an accessory may send a command to get preferred power, that is, whether the accessory should operate by drawing current from a first or second power source. This command may be received by the portable computing device in act <NUM>. In act <NUM>, the portable computing device may determine the preferred power source and send this information to the accessory in act <NUM>. In act <NUM>, the accessory may receive the preferred power source and draws current from that source in act <NUM>.

<FIG> is a flowchart illustrating the activities performed by an accessory and portable computing device according to an embodiment of the present invention. In act <NUM>, a connection may be established between the accessory and the portable computing device. In act <NUM>, the accessory may provide a request to the portable computing device inquiring whether they accessory should use a first power source or a second power source to power the accessory. In act <NUM>, the accessory may receive an instruction indicating which power source to use to power the accessory. In act <NUM>, the accessory may use the indicated power source to power the accessory.

In various embodiments of the present invention, it is desirable for an accessory to read information regarding charging and power management from a portable computing device. One such parameter may include the maximum charging current that the portable computing device can provide. This information may be requested and returned using the GetUltraHighPower and RetUltraHighPower commands. Examples of this are shown in the following figures.

<FIG> illustrates an electronic system according to an unclaimed example. This figure includes power source <NUM>, accessory <NUM>, and portable computing device <NUM>. Accessory <NUM> may send a command to portable computing device <NUM> to retrieve charging information using the GetCharginglnfo command. Portable computing device <NUM> may return charging information to accessory <NUM> using the RetCharginglnfo command. These activities are shown in the following figure.

<FIG> illustrates activities performed by an accessory and a portable computing device according to an unclaimed example. In act <NUM>, an accessory may send a command to get charging information. The command to get information may be received by the portable computing device in act <NUM>. This information may then be read, for example from a register, in act <NUM>. In act <NUM>, the charging information may be returned and received by the accessory in act <NUM>. This charging information may include charging information discussed above, such as available current limits, maximum current limits, the status of internal battery charging, and other parameters.

<FIG> illustrates a flowchart of the activities performed by an accessory and a portable computing device according to an unclaimed example. In act <NUM>, a connection may be established between the accessory and the portable computing device. A request for charging information may be sent to the portable computing device in act <NUM>. In act <NUM>, the charging information may be received from the portable computing device.

In some unclaimed examples, a portable computing device may identify an accessory by using a resistor value on the accessory. For example, the accessory may include a resistor having a specified value between two or more of its pins that may be used to communicate with the portable computing device. From this identification, one or more default values may be set in the portable computing device. On occasion, it may be desirable to override or supplement these values with specified values. Examples of this are shown in the following figures.

<FIG> illustrates an electronic system according to an unclaimed example. This figure includes power source <NUM>, accessory <NUM>, and portable computing device <NUM>. Portable computing device <NUM> may detect a resistor identification on accessory <NUM>. Portable computing device <NUM> may determine default values for a number of parameters from this resistor identification. Accessory <NUM> may send one or more commands to portable computing device <NUM> to override or supplement these default values. The activities performed by these devices are shown in the following figure.

<FIG> illustrates the activities performed by an accessory and a portable computing device according to an unclaimed example. In act <NUM>, a portable computing device may read an identification resistor on the accessory. In act <NUM>, the portable computing device may determine default values for various parameters based on this identification resistor. In act <NUM>, the accessory may send one or more commands to supplement or override the default values. This command may be received by the portable computing device in act <NUM>. An acknowledgement may be sent to the accessory in act <NUM> and received by the accessory in act <NUM>. In act <NUM>, the portable computing device may supplement or override the default values. Notification of these changes may be provided from the portable computing device to the accessory.

<FIG> is a flow chart illustrating the activities performed by an accessory and a portable computing device according to an unclaimed example. In act <NUM>, a connection may be established between the portable computing device and the accessory. In act <NUM>, a resistor identification may be read on the accessory. In act <NUM>, the portable computing device may determine one or more default values based on the resistor identification. In act <NUM>, the portable computing device may receive a command from accessory to modify the set of one more default values. In act <NUM>, the portable computing device may modify the set of one of more default values.

Claim 1:
A method of operating an accessory of a portable computing device, the method comprising:
establishing (<NUM>) a connection between the accessory and the portable computing device;
providing (<NUM>), by the accessory, a request to the portable computing device inquiring whether the accessory should use a first power source or a second power source, the second power source in the portable computing device, to power the accessory;
receiving (<NUM>), by the accessory, an instruction indicating which power source to use to power the accessory; and
using (<NUM>), using, by the accessory, the indicated power source to power the accessory.