SYSTEMS AND METHODS FOR POWER CONSERVATION ON AN AUDIO BUS THROUGH CLOCK MANIPULATION
20200293081 ยท 2020-09-17
Inventors
Cpc classification
G06F1/08
PHYSICS
Y02D10/00
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
H04B1/207
ELECTRICITY
International classification
G06F1/08
PHYSICS
H04B1/20
ELECTRICITY
H04L7/00
ELECTRICITY
Abstract
Systems and methods for power conservation on an audio bus through clock manipulation allow a clock signal on an audio bus such as a SOUNDWIRE audio bus to be stopped when there are no pending commands from a master device. The clock signal may resume when a new command from the master device is generated or the master device receives an interrupt from a slave device.
Claims
1. An apparatus comprising an audio bus master, the audio bus master comprising: a bus interface coupled to an audio bus, the bus interface comprising: a frame control circuit configured to enter a clock stop state when a command is not pending.
2. The apparatus of claim 1, wherein the audio bus master comprises a SOUNDWIRE audio bus master and the audio bus comprises a SOUNDWIRE audio bus.
3. The apparatus of claim 1, wherein the audio bus master further comprises a clock source configured to provide a clock signal to the frame control circuit.
4. The apparatus of claim 1, wherein the frame control circuit is further configured to detect a wakeup request on the audio bus.
5. The apparatus of claim 4, wherein the audio bus master is configured to exit the clock stop state and initiate a slave interrupt status inquiry responsive to the wakeup request.
6. The apparatus of claim 1, wherein the frame control circuit comprises a watch dog circuit.
7. The apparatus of claim 6, wherein the watch dog circuit comprises a counter and the watch dog circuit is configured to delay entry into the clock stop state.
8. The apparatus of claim 1, wherein the audio bus master is integrated into an integrated circuit (IC).
9. The apparatus of claim 1 comprising a device selected from the group consisting of: a set top box; an entertainment unit; a navigation device; a communications device; a fixed location data unit; a mobile location data unit; a global positioning system (GPS) device; a mobile phone; a cellular phone; a smart phone; a session initiation protocol (SIP) phone; a tablet; a phablet; a server; a computer; a portable computer; a mobile computing device; a wearable computing device; a desktop computer; a personal digital assistant (PDA); a monitor; a computer monitor; a television; a tuner; a radio; a satellite radio; a music player; a digital music player; a portable music player; a digital video player; a video player; a digital video disc (DVD) player; a portable digital video player; an automobile; a vehicle component; avionics systems; a drone; and a multicopter, wherein the audio bus master is integrated into the device.
10. The apparatus of claim 1, wherein the frame control circuit is configured to enter the clock stop state automatically when the command is not pending.
11. An apparatus comprising an audio bus master, the audio bus master comprising: a means to couple to an audio bus, the means to couple to the audio bus comprising: a means to enter a clock stop state when a command is not pending.
12. The apparatus of claim 11, wherein the means to couple to the audio bus comprises a bus interface comprising a physical layer (PHY).
13. A method of controlling an audio bus, the method comprising: determining that no command is pending for the audio bus; and entering a clock stop state responsive to determining that no command is pending.
14. The method of claim 13, wherein determining that no command is pending comprises determining with a frame control circuit.
15. The method of claim 13, wherein entering the clock stop state comprises sending a command to a slave over the audio bus and sending a stopping frame.
16. The method of claim 13, further comprising counting a number of frames with a counter before determining.
17. The method of claim 13, wherein the audio bus comprises a SOUNDWIRE audio bus.
18. The method of claim 13, further comprising detecting a wakeup request while in the clock stop state.
19. The method of claim 18, further comprising, responsive to the wakeup request, interrogating a slave as to a slave interrupt status.
Description
BRIEF DESCRIPTION OF THE FIGURES
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
DETAILED DESCRIPTION
[0019] With reference now to the drawing figures, several exemplary aspects of the present disclosure are described. The word exemplary is used herein to mean serving as an example, instance, or illustration. Any aspect described herein as exemplary is not necessarily to be construed as preferred or advantageous over other aspects.
[0020] Aspects disclosed in the detailed description include systems and methods for power conservation on an audio bus through clock manipulation. In particular, exemplary aspects of the present disclosure provide for systems and methods for allowing a clock signal on an audio bus such as a SOUNDWIRE audio bus to be stopped when there are no pending commands from a master device. The clock signal may resume when a new command from the master device is generated or the master receives an interrupt from a slave device. By stopping the clock signal in this fashion, power is saved because the clock transitions on the bus are eliminated. Further, latency is held to a minimum by allowing the master to respond to interrupts from the slaves.
[0021] Before addressing particulars of the present disclosure, an overview of an audio system, and particularly a SOUNDWIRE audio system, are provided with reference to
[0022] In this regard,
[0023] The SOUNDWIRE specification defines a fixed frame having multiple lanes (up to eight). In practice, each lane is assigned to one of the one or more data lines 112(1)-112(8) of the multi-wire bus 108. The frame has rows and columns, In each row, bit slots are provided that may change from any source to any other source.
[0024]
[0025] In conventional operation, the bus interface 130 remains active to handle commands from the control system 132 as well as periodically interrogate slaves to see if there are any interrupts at the slaves. Such activity causes essentially continuous activity on the multi-wire bus 108, which consumes power. This power consuming bus activity is symbolically illustrated in
[0026] In contrast, exemplary aspects of the present disclosure allow the multi-wire bus 108 to be stopped or idled such that the pings to query the slaves are suspended, resulting in power savings. As the multi-wire bus 108 may be idle in this fashion for hundreds of milliseconds, the power savings may be substantial.
[0027]
[0028] An exemplary process to allow for link stoppage is provided with reference to
[0029] The process 350 is substantially similar to process 300 but before the process 350 returns to block 306 for execution of the command, the master sends a ping (e.g., ping 222) to acquire a status of one or more slaves (block 352). This ping determines whether the slave(s) is still attached (block 354). If the answer to block 354 is negative, then the process 350 ends and an error is generated (block 356). The error may occur when the slave does not operate correctly (due to a different system error condition, such as a low batter). The error may be provided to an operating system or the like. Otherwise, the command is executed at block 306.
[0030] Exemplary aspects of the present disclosure are enabled by a software driver working with a circuit in the bus interface 130. It should be appreciated that after enabling the circuit, the software driver can enter a temporal sleep condition, where low-level operations of the bus interface 130 operate without software intervention. One exemplary such circuit 400 is illustrated in
[0031] The software driver 402 also indicates which data ports are enabled through a channel enable circuit 412. The enable signals are provided to a negative OR (NOR) gate 414. When all port channels are disabled, a signal is provided to the AND gate 408. When both inputs to the AND gate 408 are present, a clock stop enter enable signal 416 is provided.
[0032] The OR gate 410 also receives a signal from a second AND gate 418. The second AND gate 418 receives a first input 420 indicating that the multi-wire bus 108 is in a clock stop state and a second input 422 indicating that a wakeup request has been received. Thus, when the multi-wire bus 108 is in a clock stop state and a wakeup request is received, the AND gate 418 outputs a signal to the OR gate 410 to exit the clock stop state. The OR gate 410 also outputs a signal to exit the clock stop state when there is at least one pending command. The circuit 400 thus allows entry into the clock stop state and exit from the clock stop state to provide commands or respond to interrupts.
[0033]
[0034] The systems and methods for power conservation on an audio bus through clock manipulation according to aspects disclosed herein may he provided in or integrated into any processor-based device. Examples, without limitation, include a set top box, an entertainment unit, a navigation device, a communications device, a fixed location data unit, a mobile location data unit, a global positioning system (GPS) device, a mobile phone, a cellular phone, a smart phone, a session initiation protocol (SIP) phone, a tablet, a phablet, a server, a computer, a portable computer, a mobile computing device, a wearable computing device (e.g., a smart watch, a health or fitness tracker, eyewear, etc.), a desktop computer, a personal digital assistant (PDA), a monitor, a computer monitor, a television, a tuner, a radio, a satellite radio, a music player, a digital music player, a portable music player, a digital video player, a video player, a digital video disc (DVD) player, a portable digital video player, an automobile, a vehicle component, avionics systems, a drone, and a multicopter.
[0035] In this regard,
[0036] With continued reference to
[0037] With continued reference to
[0038] With continued reference to
[0039] Those of skill in the art will further appreciate that the various illustrative logical blocks, modules, circuits, and algorithms described in connection with the aspects disclosed herein may be implemented as electronic hardware, instructions stored in memory or in another computer readable medium and executed by a processor or other processing device, or combinations of both. The master devices, and slave devices described herein may be employed in any circuit, hardware component, integrated circuit (IC), or IC chip, as examples. Memory disclosed herein may be any type and size of memory and may be configured to store any type of information desired. To clearly illustrate this interchangeability, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. How such functionality is implemented depends upon the particular application, design choices, and/or design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.
[0040] The various illustrative logical blocks, modules, and circuits described in connection with the aspects disclosed herein may be implemented or performed with a processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices (e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration).
[0041] The aspects disclosed herein may be embodied in hardware and in instructions that are stored in hardware, and may reside, for example, in Random Access Memory (RAM), flash memory, Read Only Memory (ROM), Electrically Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), registers, a hard disk, a removable disk, a CD-ROM, or any other form of computer readable medium known in the art. An exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a remote station. In the alternative, the processor and the storage medium may reside as discrete components in a remote station, base station, or server.
[0042] It is also noted that the operational steps described in any of the exemplary aspects herein are described to provide examples and discussion. The operations described may be performed in numerous different sequences other than the illustrated sequences. Furthermore, operations described in a single operational step may actually be performed in a number of different steps. Additionally, one or more operational steps discussed in the exemplary aspects may he combined. It is to he understood that the operational steps illustrated in the flowchart diagrams may be subject to numerous different modifications as will be readily apparent to one of skill in the art. Those of skill in the art will also understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, hits, symbols, and chips that may he referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
[0043] The previous description of the disclosure is provided to enable any person skilled in the art to make or use the disclosure. Various modifications to the disclosure will he readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other variations. Thus, the disclosure is not intended to be limited to the examples and designs described herein, but is to be accorded the widest scope consistent with the principles and features disclosed herein.