High bandwidth SOUNDWIRE master device with multiple primary data channels

文档序号:1539576 发布日期:2020-02-14 浏览:28次 中文

阅读说明:本技术 具有多个主数据通道的高带宽soundwire主控设备 (High bandwidth SOUNDWIRE master device with multiple primary data channels ) 是由 L·阿马里利奥 A·吉尔 S·格莱夫 于 2018-06-20 设计创作,主要内容包括:描述了能在不增加由SoundWire总线使用的引脚数的情况下改进SoundWire总线上的可用带宽的系统、方法和装置。一种在耦合至SoundWire总线的主控设备处执行的方法包括:由第一主控设备在SoundWire总线的时钟线上向耦合至该SoundWire总线的第一从动设备和第二从动设备提供时钟信号;在SoundWire总线的第一数据线上从第一主控设备向第一从动设备传送第一控制信息;以及在SoundWire总线的第二数据线上从第一主控设备向第二从动设备传送第二控制信息。第一控制信息可不同于第二控制信息,并且与第二控制信息并发地被传送。(Systems, methods, and apparatus are described that can improve the available bandwidth on a SoundWire bus without increasing the number of pins used by the SoundWire bus. A method performed at a master device coupled to a SoundWire bus comprising: providing, by a first master device, a clock signal on a clock line of a SoundWire bus to a first slave device and a second slave device coupled to the SoundWire bus; transmitting first control information from a first master device to a first slave device over a first data line of a SoundWire bus; and transmitting second control information from the first master device to the second slave device over a second data line of the SoundWire bus. The first control information may be different from the second control information and transmitted concurrently with the second control information.)

1. A method, comprising:

transmitting a clock signal from a first master device to a first slave device and a second slave device coupled to a SoundWire bus on a clock channel of the SoundWire bus;

transmitting first control information from the first master device to the first slave device on a first data channel of the SoundWire bus; and

transmitting second control information from the first master device to the second slave device over a second data channel of the SoundWire bus,

wherein the first control information is different from the second control information and is transmitted concurrently with the second control information.

2. The method of claim 1, wherein the first data channel is coupled to a primary data terminal of the first master device and the second data channel is coupled to a secondary data terminal of the first master device.

3. The method of claim 1, wherein the first control information is transmitted in a first frame directed to one or more slaves of the first data channel coupled to the SoundWire bus, and wherein the second control information is transmitted in a second frame directed to one or more slaves of the second data channel coupled to the SoundWire bus.

4. The method of claim 1, wherein the first master device is configured to transmit control information on the first data channel and the second data channel.

5. The method of claim 1, wherein control information is transmitted on three or more data lanes of the SoundWire bus.

6. The method of claim 1, wherein the second slave device comprises a SoundWire bus interface circuit configured to support a single data channel.

7. The method of claim 1, further comprising:

sending a ping command in the first control information and the second control information; and

enumerating a plurality of devices coupled to the SoundWire bus based on responses to the ping command received from the plurality of devices.

8. The method of claim 7, further comprising:

assigning a channel number to each device of the plurality of devices, wherein each channel number corresponds to a wire associated with the first data channel or a wire associated with the second data channel.

9. The method of claim 8, further comprising:

associating, at the first master device, a field of a frame transmitted on the SoundWire bus with a number representing a wire to which a target of the frame is coupled.

10. The method of claim 7, wherein the plurality of devices comprises at least twelve slave devices.

11. The method of claim 1, further comprising:

sending a ping command in the first control information and the second control information, wherein the ping command signals a stream synchronization point event.

12. The method of claim 1, wherein the first data channel is a primary data channel carried on a first conductor driven by the first master device, and the second data channel is a primary data channel carried on a second conductor driven by a second master device, and wherein the first master device and the second master device are provided in an application processor or encoder-decoder (Codec).

13. The method of claim 12, further comprising:

synchronizing the frame timing of the second master device with the frame timing of the first master device.

14. The method of claim 12, further comprising:

synchronizing a stream synchronization point defined for the second master device with a stream synchronization point defined for the first master device.

15. The method of claim 12, further comprising:

synchronizing a timing of a group switch signal transmitted by the second master device with a timing of a group switch signal transmitted by the first master device.

16. The method of claim 15, wherein the group switch signal transmitted by the second master device comprises a broadcast write command.

17. An apparatus, comprising:

a physical interface coupled to a SoundWire bus;

an application processor coupled to the SoundWire bus; and

a plurality of slaves coupled to the SoundWire bus,

wherein the application processor comprises a processor configured to:

providing a clock signal on a clock channel of the SoundWire bus to a first slave device and a second slave device coupled to the SoundWire bus;

transmitting first control information to the first slave device on a first data channel of the SoundWire bus; and

transmitting second control information to the second slave device over a second data channel of the SoundWire bus,

wherein the first control information is different from the second control information and is transmitted concurrently with the second control information.

18. The apparatus of claim 17, wherein the second slave device comprises a two wire SoundWire interface.

19. The apparatus of claim 17, wherein the first data channel is a primary data channel of the SoundWire bus and the second data channel is a secondary data channel of the SoundWire bus, and wherein the application processor comprises a SoundWire bus interface circuit operable to drive three or more wires of the SoundWire bus.

20. The apparatus of claim 19, wherein the processor is further configured to:

transmitting the first control information in a first frame directed to one or more slave devices coupled to the SoundWire bus by a first wire; and

transmitting the second control information in a second frame directed to one or more slave devices coupled to the SoundWire bus via a second wire.

21. The apparatus of claim 17, wherein the processor is further configured to:

sending ping commands in the first data channel and the second data channel; and

enumerating a plurality of devices coupled to the SoundWire bus based on responses to the ping command received from the plurality of devices.

22. The apparatus of claim 21, wherein the processor is further configured to:

assigning a device number to each device of the plurality of devices, wherein each device number is unique to a wire coupling the corresponding device to the apparatus.

23. The apparatus of claim 22, wherein the processor is further configured to:

associating a field of a frame transmitted on the SoundWire bus with a number representing a wire to which a target of the frame is coupled.

24. The apparatus of claim 17, wherein the application processor comprises:

a first interface device configured to operate as a SoundWire master device and to transmit a first frame on a primary data channel of the SoundWire bus;

a second interface device configured to operate as a SoundWire master device and to transmit a second frame on a secondary data channel of the SoundWire bus; and

a synchronization circuit configured to synchronize a frame timing of the first interface device with a frame timing of the second interface device.

25. An apparatus, comprising:

means for providing, by a first master device, a clock signal on a clock channel of a SoundWire bus to a first slave device and a second slave device coupled to the SoundWire bus;

means for transmitting first control information from the first master device to the first slave device over a first data channel of the SoundWire bus; and

means for transmitting second control information from the first master device to the second slave device over a second data channel of the SoundWire bus, wherein the first control information is different from the second control information and is transmitted concurrently with the second control information, and wherein the second slave device comprises a two-wire SoundWire interface.

26. The apparatus of claim 25, further comprising:

means for sending ping commands in the first data channel and the second data channel; and

means for enumerating a plurality of devices coupled to the SoundWire bus based on responses to the ping command received from the plurality of devices.

27. The apparatus of claim 25, wherein:

the means for communicating the first control information includes a first interface device configured to operate as a SoundWire master device and to drive a first wire of the SoundWire bus,

the means for communicating the second control information includes a second interface device configured to operate as a SoundWire master device and drive a second wire of the SoundWire bus, and

wherein the apparatus comprises means for synchronizing a frame timing of the first interface device with a frame timing of the second interface device.

28. A processor-readable medium storing processor-executable code, the processor-executable code comprising code to cause a processor to:

providing, by a first master device, a clock signal on a clock channel of a SoundWire bus to a first slave device and a second slave device coupled to the SoundWire bus;

transmitting first control information from the first master device to the first slave device on a first data channel of the SoundWire bus; and

transmitting second control information from the first master device to the second slave device over a second data channel of the SoundWire bus, wherein the first control information is different from and transmitted concurrently with the second control information, and wherein the second slave device comprises a two-wire SoundWire interface.

29. The processor-readable medium of claim 28, further comprising code for causing a processor to:

sending ping commands in the first data channel and the second data channel; and

enumerating a plurality of devices coupled to the SoundWire bus based on responses to the ping command received from the plurality of devices.

30. The processor-readable medium of claim 28, further comprising code for causing a processor to:

transmitting the first control information using a first interface device configured to operate as a SoundWire master device and to drive a first wire of the SoundWire bus;

transmitting the second control information using a second interface device configured to operate as a SoundWire master device and to drive a second wire of the SoundWire bus; and

synchronizing a frame timing of the first interface device with a frame timing of the second interface device.

Technical Field

At least one aspect relates generally to data communication interfaces, and more particularly to data communication interfaces for connecting devices in an audiovisual or multimedia system.

Background

Electronic devices, including mobile communication devices, wearable computing devices (such as smart watches), and tablet computers, support ever-increasing functionality and capabilities. Many electronic devices include an internal microphone and speaker and may include connectors that enable the use of audiovisual equipment, including headphones, external speakers, and the like. Communication may be provided through a digital interface defined by one or more standards. In one example, a mobile communication device may employ an interface compliant with the SoundWire standard specified by the Mobile Industry Processor Interface (MIPI) alliance. The SoundWire standard defines a multi-wire communication bus.

The demand for increased audio visual capabilities continues to grow. For example, a mobile communication device may include a camera and stereo microphone that may be adjusted over time to improve performance. In another example, the digital processing capabilities may permit the electronic device to implement a sound decoder that may provide signals to drive more than two speakers. In these and other examples, improved communication capabilities are needed to enable processing circuits, controllers, Codec (Codec) devices, and other components to communicate audio data to multiple audio devices over a common communication bus.

The available bandwidth on a conventional SoundWire bus may limit the number of audio peripherals that can be supported within a mobile communication device. Accordingly, there is a continuing need for increased bandwidth and improved flexibility in connecting an increased number of audio peripherals to a SoundWire bus.

SUMMARY

Certain aspects disclosed herein relate to systems and methods for improving available bandwidth on a SoundWire bus without increasing the number of pins used by the SoundWire bus.

In various aspects of the disclosure, a method performed at a master device coupled to a SoundWire bus comprises: transmitting a clock signal from a first master device to a first slave device and a second slave device coupled to a SoundWire bus on a clock channel of the SoundWire bus; transmitting first control information from a first master device to a first slave device on a first data channel of a SoundWire bus; and transmitting second control information from the first master device to the second slave device over a second data channel of the SoundWire bus. The first control information may be different from the second control information and may be transmitted concurrently with the second control information.

In one aspect, the first data channel is a primary data channel of a SoundWire bus and the second data channel is a secondary data channel of the SoundWire bus. The first control information may be transmitted in a first frame directed to one or more slave devices coupled to the SoundWire bus. The second control information may be transmitted in a second frame directed to one or more slave devices coupled to the SoundWire bus.

In one aspect, a first master device is configured to transmit control information on a first data channel and a second data channel.

In some aspects, the first master device includes a SoundWire bus interface circuit operable to drive three or more wires of a SoundWire bus. The second slave device may include a SoundWire bus interface circuit configured to support a single data channel.

In certain aspects, the first master device may be configured to: sending a ping command in the first data channel and the second data channel; enumerating a plurality of devices coupled to the SoundWire bus based on responses to the ping command received from the first slave device and the second slave device. Enumerating the plurality of devices may include assigning a device number to each device in the plurality of devices. Each device number may be unique to a wire coupling the corresponding device to the first master device. The first master device may be configured to associate a field of a frame transmitted on the SoundWire bus with a number representing a wire to which a target of the frame is coupled.

In some aspects, the first data channel is a primary data channel driven by a first master device and the second data channel is a primary data channel driven by a second master device. The first master device and the second master device may be provided in an application processor or codec. The first master device may be configured to synchronize the frame timing of the second master device with the frame timing of the first master device. The first master device may be configured to synchronize a stream synchronization point defined for the second master device with a stream synchronization point defined for the first master device. The first master device may be configured to synchronize timing of the group switch signal transmitted by the second master device with timing of the group switch signal transmitted by the first master device. The group switch signal transmitted by the second master device may include a broadcast write command.

In various aspects of the disclosure, an apparatus includes a physical interface coupled to a multi-wire link that operates as a SoundWire bus. The apparatus may have an application processor coupled to a SoundWire bus and a plurality of slaves coupled to the SoundWire bus. The application processor may include a processor configured to: providing, by a first master device, a clock signal on a clock channel of a SoundWire bus to a first slave device and a second slave device coupled to the SoundWire bus; transmitting first control information from a first master device to a first slave device on a first data channel of a SoundWire bus; and transmitting second control information from the first master device to the second slave device over a second data channel of the SoundWire bus. The first control information may be different from the second control information and may be transmitted concurrently with the second control information. The second slave device may be coupled to the SoundWire bus through a two-wire SoundWire interface.

In some aspects, the first data channel is a primary data channel of a SoundWire bus and the second data channel is a secondary data channel of the SoundWire bus. The application processor may include a SoundWire bus interface circuit operable to drive three or more wires of a SoundWire bus. The processor may be configured to transmit first control information in a first frame directed to one or more slave devices on a first conductor of a SoundWire bus. The control information may be transmitted in a second frame directed to one or more slave devices coupled to a second conductor of the SoundWire bus.

In certain aspects, the processor is configured to: sending a ping command in the first data channel and the second data channel; and enumerating a plurality of devices coupled to the SoundWire bus based on responses to the ping command received from the first slave device and the second slave device. The processor may be configured to assign a device number to each device of the plurality of devices. Each device number may be unique to a wire coupling the corresponding device to the apparatus. The processor may be configured to associate a field of a frame transmitted on the SoundWire bus with a number representing a wire to which a target of the frame is coupled.

In one aspect, the application processor comprises: a first interface device configured to operate as a SoundWire master device and to transmit a first frame on a primary data channel of a SoundWire bus; a second interface device configured to operate as a SoundWire master device and to transmit a second frame on a secondary data channel of a SoundWire bus; and a synchronization circuit configured to synchronize a frame timing of the first interface device with a frame timing of the second interface device.

In various aspects, an apparatus comprises: means for providing, by a first master device, a clock signal on a clock lane of a SoundWire bus to a first slave device and a second slave device coupled to the SoundWire bus; means for transmitting first control information from a first master device to a first slave device on a first data channel of a SoundWire bus; and means for transmitting second control information from the first master device to the second slave device over a second data channel of the SoundWire bus. The first control information may be different from the second control information and transmitted concurrently with the second control information. The second slave device may be a two wire SoundWire interface.

In one aspect, the apparatus comprises: means for sending ping commands in the first data channel and the second data channel; and enumerating a plurality of devices coupled to the SoundWire bus based on responses to the ping command received from the first slave device and the second slave device.

In one aspect, an apparatus for communicating first control information includes a first interface device configured to operate as a SoundWire master device and to drive a first wire of a SoundWire bus. The means for transmitting the second control information may include a second interface device configured to operate as a SoundWire master device and to drive a second wire of the SoundWire bus. The apparatus may include means for synchronizing a frame timing of a first interface device with a frame timing of a second interface device.

In various aspects, a processor-readable medium stores processor-executable code. The code, when executed by a processor, may cause the processor to: providing, by a first master device, a clock signal on a clock channel of a SoundWire bus to a first slave device and a second slave device coupled to the SoundWire bus; transmitting first control information from a first master device to a first slave device on a first data channel of a SoundWire bus; and transmitting second control information from the first master device to the second slave device over a second data channel of the SoundWire bus. The first control information may be different from the second control information and may be transmitted concurrently with the second control information. The second slave device may have a two wire SoundWire interface.

In one aspect, the code may cause the processor to: sending a ping command in the first data channel and the second data channel; and enumerating a plurality of devices coupled to the SoundWire bus based on responses to the ping command received from the first slave device and the second slave device.

In one aspect, the code may cause the processor to transmit the first control information to include: a first interface device configured to operate as a SoundWire master device and to drive a first wire of a SoundWire bus; transmitting the second control information includes: a second interface device configured to operate as a SoundWire master device and to drive a second wire of a SoundWire bus; and synchronizing the frame timing of the first interface device with the frame timing of the second interface device.

33页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:具有元数据致动的条件图执行的处理核心

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!