CN109416624A - 用于使用分布式通用串行总线(usb)主机驱动器的系统和方法 - Google Patents
用于使用分布式通用串行总线(usb)主机驱动器的系统和方法 Download PDFInfo
- Publication number
- CN109416624A CN109416624A CN201780039509.9A CN201780039509A CN109416624A CN 109416624 A CN109416624 A CN 109416624A CN 201780039509 A CN201780039509 A CN 201780039509A CN 109416624 A CN109416624 A CN 109416624A
- Authority
- CN
- China
- Prior art keywords
- usb
- audio
- processor
- driver
- application processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3253—Power saving in bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3293—Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/162—Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/165—Management of the audio stream, e.g. setting of volume, audio stream path
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- Y—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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Sources (AREA)
- Information Transfer Systems (AREA)
Abstract
公开了用于使用分布式通用串行总线(USB)主机驱动器的系统和方法。在一个方面,历史上在应用处理器上完成的USB分组处理被移至在低功率处理器(诸如数字信号处理器(DSP))上并行运行的分布式USB驱动器。虽然尤其构想了DSP,但也可以使用其他处理器。此外,提供了从该低功率处理器到USB硬件的绕过应用处理器的通信路径。以此方式绕过应用处理器允许该应用处理器保持处于睡眠模式达更长的时间段,而不是处理从低功率处理器或USB硬件接收的数字数据。此外,通过绕过应用处理器减小了等待时间,这改善了收听者的体验。
Description
优先权申请
本申请要求于2016年6月27日提交的题为“METHODS TO REDUCE POWERCONSUMPTION AND LATENCY FOR UNIVERSAL SERIAL BUS (USB)DIGITAL AUDIOPERIPHERALS BY USING DISTRIBUTED USB HOST DRIVERS(通过使用分布式通用串行总线(USB)主机驱动器来减小用于USB数字音频外围设备的功耗和等待时间的方法)”的美国临时专利申请序列号62/355,279的优先权和权益,该申请的全部内容通过援引全部纳入于此。
本申请还要求于2017年6月2日提交的题为“SYSTEMS AND METHODS FOR USINGDISTRIBUTED UNIVERSAL SERIAL(USB)HOST DRIVERS(用于使用分布式通用串行总线(USB)主机驱动器的系统和方法)”的美国临时专利申请序列号62/514,211的优先权和权益,该申请的全部内容通过援引全部纳入于此。
本申请还要求于2017年6月23日提交的题为“SYSTEMS AND METHODS FOR USINGDISTRIBUTED UNIVERSAL SERIAL(USB)HOST DRIVERS(用于使用分布式通用串行总线(USB)主机驱动器的系统和方法)”的美国专利申请序列号15/631,088的优先权和权益,该申请的全部内容通过援引全部纳入于此。
背景
I.公开领域
本公开的技术一般涉及管理通用串行总线(USB)外围设备,例如USB 数字头戴式耳机。
II.背景技术
移动通信设备在当前社会已变得越来越普遍。这些移动通信设备的盛行部分地是由目前在此类设备上实现的许多功能来推动的。此类设备中增强的处理能力意味着移动通信设备已经从纯粹的通信工具演进成实现增强的用户体验的复杂的移动多媒体中心。
随着移动通信设备已演进成多媒体中心,能够与移动通信设备互操作的外围设备的类型也是如此。远程显示器、远程扬声器、头戴式耳机、带话筒的头戴式耳机等都被适配成与移动通信设备联用。在一些实例中,外围设备诸如通过蓝牙连接无线地与移动通信设备通信。在其他实例中,特别是在音频使用情形中,可以使用导线将移动通信设备连接到外围设备。对于此类音频线的一个常见的连接点是3.5毫米(mm)音频插孔。
移动通信行业中的冲突数据不同地表明消费者偏好移动通信设备上更小或更大的显示器。响应于相信更轻的移动通信更为合需,仍然存在使移动通信设备更薄的趋势。随着设备变得更薄,支持3.5mm音频插孔所需的空间成为限制因素。相应地,最近的趋势是将新的通用串行总线(USB) Type-C连接器用于包括任何音频外围设备的任何数字外围设备。此趋势是 Type-C连接器的形状因子具有小于3.5mm的尺寸的事实的结果并因此允许进一步打薄移动通信设备。此外,USB Type-C电缆支持高带宽数字递送,其一般保持比与3.5mm音频插孔相关联的较老模拟技术更高的质量。
虽然USB Type-C音频外围设备可以通过提供更好的音频质量来改善用户体验,但是已经注意到USB一般比模拟音频插孔消耗来自移动通信设备的更多功率。无论移动通信设备的尺寸如何,都存在减小功耗以延长电池寿命的统一期望。相应地,当连接数字USB外围设备(例如,具有Type-C 连接器的数字音频USB头戴式耳机设备)时,需要改善用于移动通信设备的功耗曲线。
公开概述
详细描述中所公开的各方面包括用于使用分布式通用串行总线(USB)主机驱动器的系统和方法。在示例性方面,历史上在应用处理器上完成的USB 分组处理被移至在低功率处理器(诸如数字信号处理器(DSP))上并行运行的分布式USB驱动器。虽然尤其构想了DSP,但也可以使用其他处理器。此外,提供了从该低功率处理器到USB硬件的绕过应用处理器的通信路径。以此方式绕过该应用处理器允许该应用处理器保持处于睡眠模式达更长的时间段,而不是处理从低功率处理器或USB硬件接收的数字数据。此外,通过绕过该应用处理器减小了等待时间,这改善了收听者的体验。虽然尤其构想了 USB,但在USB硬件和外围设备之间的有线连接可以是能够承载USB信号的专有元件。
就此而言,在一个方面,公开了一种控制USB系统中的音频流的方法。该方法包括在应用处理器和外部数字USB外围设备之间建立连接。该方法还包括允许音频DSP通过系统总线将音频分组传递到USB硬件。该方法还包括将音频分组从USB硬件传递到外部数字USB外围设备。
在另一方面,公开了一种片上系统。该片上系统包括系统总线。该片上系统还包括USB硬件。该片上系统还包括USB连接器,该USB连接器通信地耦合至USB硬件并且被配置成耦合至外部数字USB外围设备。该片上系统还包括通过系统总线通信地耦合至USB硬件的应用处理器。该应用处理器包括USB主机驱动器。该片上系统还包括通过系统总线通信地耦合至USB 硬件的音频DSP。该音频DSP包括第二USB驱动器。该应用处理器被配置成通过USB硬件和USB连接器来枚举和设立USB端点,并将关于该USB端点的数据传递到音频DSP,使得该音频DSP可以将音频分组传递到该USB硬件。
在另一方面,公开了一种处置USB音频设备的方法。该方法包括在应用处理器和音频DSP之间分布USB驱动器。该方法还包括通过该应用处理器来枚举配置USB端点。该方法还包括用音频DSP控制数据分组的音频流。
在另一方面,公开了一种在片上系统中节省功率的方法。该方法包括将 USB连接从应用处理器传递到片上系统中的音频DSP。该方法还包括:在音频DSP将音频分组传递给USB硬件的同时,票决将该应用处理器置于低功率模式。
在另一方面,公开了一种控制USB端点的方法。该方法包括用应用处理器上的USB驱动器来枚举USB端点。该方法还包括从音频DSP上的第二USB驱动器接收要启用或禁用音频数据流的请求。该方法还包括:响应于该请求,使用控制端点和该应用处理器上的USB驱动器来启用或禁用所选的音频接口。该方法还包括从该应用处理器上的USB驱动器向音频DSP上的第二USB驱动器提供设备描述符。该方法还包括:在第二USB驱动器处,使用从USB驱动器传递的设备描述符来执行数据传输。
在另一方面,公开了一种用于应用处理器USB驱动器和音频DSP USB 驱动器之间的处理器间通信的方法。该方法包括从应用处理器USB驱动器向音频DSP USB驱动器发送选自包括以下各项的组的信息:时隙标识符、设备描述符、音频数据和同步端点描述符、因音频接口而异的描述符、以及中断器号。
在另一方面,公开了一种用于控制至USB端点的通信的方法。该方法包括确定第一分组是在应用处理器处被编码或解码的。响应于关于第一分组的确定,该方法包括使用应用处理器USB驱动器来对与第一分组相关联的音频流提供服务。该方法还包括确定第二分组是在音频DSP处被编码或解码的。响应于关于第二分组的确定,该方法还包括使用音频DSP USB驱动器来对与第二分组相关联的音频流提供服务。
在另一方面,公开了一种控制USB系统中的多媒体流的方法。该方法包括在应用处理器和外部数字USB外围设备之间建立连接。该方法还包括允许第二处理器通过系统总线将多媒体分组传递到USB硬件。该方法还包括将多媒体分组从USB硬件传递到外部数字USB外围设备。
在另一方面,公开了一种片上系统(SoC)。该SoC包括系统总线。该 SoC还包括USB硬件。该SoC还包括USB连接器,该USB连接器通信地耦合至该USB硬件并被配置成耦合至外部数字USB外围设备。该SoC还包括通过系统总线通信地耦合至USB硬件的应用处理器。该应用处理器包括USB 主机驱动器。该SoC还包括通过系统总线通信地耦合至USB硬件的第二处理器。该第二处理器包括第二USB驱动器。该应用处理器被配置成通过该USB 硬件和USB连接器来枚举和设立USB端点,并将关于该USB端点的数据传递到第二处理器,使得第二处理器可以将数字分组传递到该USB硬件。
在另一方面,公开了一种在SoC中节省功率的方法。该方法包括将USB 连接从应用处理器传递到SoC中的第二处理器。该方法还包括:在第二处理器将多媒体分组传递给USB硬件的同时,票决将该应用处理器置于低功率模式。
在另一方面,公开了一种控制USB端点的方法。该方法包括用应用处理器上的USB驱动器来枚举USB端点。该方法还包括从第二处理器上的第二USB驱动器接收要启用或禁用多媒体数据流的请求。该方法还包括:响应于该请求,使用控制端点和该应用处理器上的USB驱动器来启用或禁用所选的多媒体接口。该方法还包括从该应用处理器上的USB驱动器向第二处理器上的第二USB驱动器提供设备描述符。该方法还包括:在第二USB驱动器处,使用从USB驱动器传递的设备描述符来执行数据传输。
在另一方面,公开了一种用于应用处理器USB驱动器和迷你USB驱动器之间的处理器间通信的方法。该方法包括从应用处理器USB驱动器向低功率处理器(诸如音频DSP)上的迷你USB驱动器发送选自包括以下各项的组的信息:时隙标识符、设备描述符、音频数据和同步端点描述符、因音频接口而异的描述符、以及中断器号。
在另一方面,公开了一种用于控制至USB端点的通信的方法。该方法包括确定第一分组是在应用处理器处被编码或解码的,并且响应于关于第一分组的确定,使用应用处理器USB驱动器来对与第一分组相关联的数字数据流提供服务。该方法还包括确定第二分组是在第二处理器处被编码或解码的,并且响应于关于第二分组的确定,使用迷你USB驱动器来对与第二分组相关联的数字数据流提供服务。
在另一方面,公开了一种用于控制USB系统中的处理器之间的分组路由的方法。该方法包括确定去往或源自外部数字USB外围设备的分组流的使用情形。该方法还包括基于该使用情形来确定等待时间要求。该方法还包括确定要通过应用处理器还是第二处理器来路由该分组流以满足该等待时间要求。
附图简述
图1是耦合至音频外围设备的移动通信设备的简化立体视图,其中本公开的示例性方面可以操作以减小功耗和等待时间;
图2是用于移动通信设备和外部外围设备的示例性常规通用串行总线 (USB)通信路径的简化框图;
图3是在设立期间根据本公开的示例性方面的USB通信路径的简化框图;
图4是设立完成后图3的USB通信路径;
图5是替代USB通信路径,其中应用处理器针对某些功能在USB通信路径中仍是活动的;
图6是根据本公开的用于设立USB通信路径的示例性过程的流程图;
图7是用于应用处理器和音频数字信号处理器(DSP)之间的USB通信路径设立的高级信号流程图;
图8A-8F表示用于图7的USB通信路径设立、停止和断连的更具体的信号流程图;
图9A-9E表示根据本公开的示例性方面的使用USB通信路径的音频呼叫的示例性使用情形;
图10A和10B表示低功率处理器的子系统重置的信号流程图;
图11是解说了基于等待时间要求的路径选择的流程图;以及
图12是诸如图1的移动通信设备的示例性基于处理器的系统的框图。
详细描述
现在参照附图,描述了本公开的若干示例性方面。措辞“示例性”在本文中用于表示“用作示例、实例、或解说”。本文中描述为“示例性”的任何方面不必被解释为优于或胜过其他方面。
详细描述中所公开的各方面包括用于使用分布式通用串行总线(USB) 主机驱动器的系统和方法。在示例性方面,历史上在应用处理器上完成的 USB分组处理被移至在低功率处理器(诸如数字信号处理器(DSP))上并行运行的分布式USB驱动器。虽然尤其构想了DSP,但也可以使用其他处理器。此外,提供了从低功率处理器到USB硬件的绕过应用处理器的通信路径。以此方式绕过该应用处理器允许该应用处理器保持处于睡眠模式达更长的时间段,而不是处理从低功率处理器或USB硬件接收的数字数据。此外,通过绕过该应用处理器减小了等待时间,这改善了收听者的体验。虽然尤其构想了USB,但在USB硬件和外围设备之间的有线连接可以是能够承载USB信号的专有元件。
在叙述本公开的各示例性方面之前,提供了相关设计准则的附加概览。当将USB主机驱动器转变成USB主机驱动器的一部分在第二处理器上操作的分布式模型时,用于选择第二处理器的相关准则包括第二处理器是否能够与USB硬件通信以及第二处理器是否比应用处理器消耗更少的功率。一般而言,本公开构想了在音频或多媒体环境中使用,但是本公开并非仅限于那些情况,并且其他数字USB环境也可以受益于本公开的各方面。为了简单起见,将使用音频环境来解说本公开的示例性方面,同时理解该教导可以被应用于多媒体或其他数字USB环境。转到音频环境,应当领会,对音频分组完成至少两种类型的处理第一种类型的处理是在音频驱动器处的音频处理。音频处理是对分组进行编码、解码并对信号进行处理。第二种类型的处理是USB音频分组处理,该处理通常在USB驱动器处完成。 USB音频分组处理是准备分组、对分组打包并排队去往USB硬件。如本文所使用的,当本公开引述音频处理时,此类引述是针对USB音频分组处理 (即,第二种类型的处理)的。还应当进一步领会,虽然下文的讨论集中于Type-C USB连接,但是本公开不限于此。本公开适用于使用数字音频 USB协议的任何连接器,诸如但不限于以下插槽:Type-A、micro-A、以及 Type-A、micro-A的专有版本,诸如LIGHTNINGTM;以及以下连接器: Type-B、micro-B、以及Type-B、micro-B的专有版本,诸如LIGHTNINGTM;以及用于将此类USB插槽/连接器连接到外部数字USB设备的电缆。由此,具有插入到承载数字USB信号的专有插槽中的专有连接器的专有电缆仍然可以受益于本公开的各示例性方面。
就此而言,图1是具有Type-C USB插槽102的移动通信设备100的简化立体视图,Type-C USB插槽102被配置成耦合至USB电缆106上的Type-C USB连接器104。如上文所提及的,本公开不限于Type-C插槽、连接器和电缆,而是使用这些来解说本公开的各示例性方面。在USB电缆106 的远端处是具有耳机112和话筒114中的多个扬声器110的数字音频头戴式耳机108。数字音频信号可以通过USB电缆106在移动通信设备100和数字音频头戴式耳机108之间传递。USB电缆106可以进一步包括音频控制单元116,其可以允许通过+/-按钮进行音量控制和/或通过附加输入按钮 (未示出)来进行播放/暂停/停止、静音、取消静音的功能。再次,虽然解说了数字音频头戴式耳机108,但是本公开还可以使其他外部数字USB设备受益。
在常规系统中,来自头戴式耳机的数字数据在被传递到USB硬件之前由应用处理器处理。此类应用处理器消耗相对大量的功率,并且因此快速耗尽此设备的电池。这种情形在图2中被解说。具体地,图2解说了具有片上系统(SoC)202的移动通信设备200,SoC 202可以包括应用处理器 204和音频DSP 206。应用处理器204通过系统或外围总线210耦合至USB硬件208。应用处理器204进一步通过迹线212或其他导电元件与音频DSP 206通信。USB硬件208被耦合至USB连接器214,USB连接器214可以是USB插槽,外部USB设备216(诸如头戴式耳机)诸如通过电缆耦合至该USB插槽中。在使用中,音频分组218传递到音频DSP 206。音频DSP 206通过迹线212将音频分组218传递到应用处理器204,在应用处理器204 处对音频分组218进行处理并通过系统总线210传递到USB硬件208。在相反方向上,并且未具体解说,音频数据可以源自话筒或其他记录源并且传递到外部USB设备216。从外部USB设备216,此类音频数据可以传递通过USB连接器214、通过USB硬件208,并且随后传递到应用处理器204,并且最后传递到音频DSP 206。对于回放情形,跨迹线212的通信向音频分组218到达USB硬件208所需的时间添加了等待时间。在一些实例中,该等待时间可能被收听者检测到并且一般是不期望的。此外,如以上提及的,应用处理器204消耗相对大量的功率,在处理USB音频分组218时不能被置入低功率模式。相应地,移动通信设备200耗尽电池功率源,并且否则可能遭受不良的音频性能。
与移动通信设备200中的功耗和慢活动相反,本公开的示例性方面将分组(并且更具体地多媒体分组,并且更具体地音频分组)的处理移至诸如音频DSP的低功率处理器中,并设立从低功率处理器到USB硬件的通信路径,从而有效地绕过应用处理器,这进而允许应用处理器被置于低功率模式。就此而言,图3和4解说了具有SoC 302的移动通信设备300。SoC 302包括低功率处理器304(诸如音频DSP)。低功率处理器304中包括迷你USB驱动器306。注意,迷你USB驱动器306在本文也可以被称为第二驱动器,以将迷你USB驱动器306与USB主机驱动器310区分开。SoC 302 进一步包括其中具有USB主机驱动器310的应用处理器308。低功率处理器304和应用处理器308可以在迹线312上进行通信,以便允许处理器间通信。应用处理器308可以将非多媒体或非音频数据分组314传达到系统总线316,系统总线316进而将非多媒体或非音频数据分组314传递到USB 硬件318。USB硬件318可以将非多媒体或非音频数据分组314传递到USB 连接器320,并且随后传递到远程外部数字USB外围设备322。音频分组 324在低功率处理器304处被接收并通过系统总线316传递到USB硬件318。在示例性方面,应用处理器308为迷你USB驱动器306设立通信路径,并且随后在低功率处理器304和迷你USB驱动器306将音频分组324 来回传递到远程外部数字USB外围设备322时可以进入低功率模式,如图 4中的虚线元件一般性地解说。
应当领会,添加迷你USB驱动器306包括允许迷你USB驱动器306 处理整个协议栈。例如,整个开放系统互连(OSI)堆栈由迷你USB驱动器306和USB主机驱动器310处理,而不作拆分(例如,堆栈的层1-4在一个处理器上的驱动器处,相对于层507在另一处理器上的另一驱动器处)。。
虽然移动通信设备300的布置提供了节省功率和减小等待时间的最大机会,但是其他布置是可能的并且仍然可以提供功率节省的机会。例如,如图5所解说的,移动通信设备500可以包括SoC 502,SoC 502包括应用处理器504和低功率处理器506。应用处理器504可以包括USB主机驱动器508,并且低功率处理器506可以包括迷你USB驱动器510。应用处理器504和低功率处理器506都耦合至系统总线512。同样,USB硬件514 耦合至系统总线512。音频分组516被传递到应用处理器504,该应用处理器504执行编码和解码,并且随后将音频分组516传递到低功率处理器506。低功率处理器506通过系统总线512将音频分组516传递到USB硬件514。应用处理器504通过系统总线512将非音频分组518发送到USB硬件514。虽然移动通信设备500的布置在音频分组516从应用处理器504传递到低功率处理器506时增加了等待时间,但是应用处理器504可以在填满低功率处理器506中的缓冲器(未示出)之后间歇地进入睡眠状态。
参照图6提供了根据本公开的示例性方面的简化过程600的流程图。当外部数字USB外围设备322(诸如数字头戴式耳机)被插入移动通信设备上的插槽时,过程600开始(框602)。应用处理器308使用非音频分组来设立低功率处理器304和USB硬件318和外部数字USB外围设备322中的相应端点之间的连接(框604)。应用处理器308随后将对连接的控制传递到迷你USB驱动器306(框606)。在移动通信设备中生成音频分组324 (框608)。这些音频分组324可以来自存储在移动通信设备上的音频文件,从远程服务器流入,存储在远程存储器设备上等。应用处理器308可以进入低功率模式(框610)。音频分组324从音频源(例如,存储器中的音频文件)传递到低功率处理器304(框612)。低功率处理器304随后将音频分组324发送到USB硬件318(框614),而不通过应用处理器308发送该音频分组。
图7解说了应用处理器702(例如,其可以是具有图3的USB主机驱动器310的应用处理器308)和低功率处理器704(例如,其可以是具有图 3的迷你USB驱动器306的音频DSP(A-DSP)或其他低功率处理器304) 之间的信号流700的高级版本。特别地,USB硬件(例如,USB硬件318) 检测到插入并向应用处理器702报告插入。应用处理器702使用其USB驱动器来执行设备枚举(框706)。应用处理器702从外部外围设备接收回放或记录请求(框708)。回放或记录请求触发了至低功率处理器704上的音频前端(AFE)服务712的通知710,并且可以包括各种信息(诸如高级操作系统(HLOS)操作令牌、采样率、位宽、信道数目、每区间的样本数目、按字节计的样本大小、方向(回放或记录)、数据格式和对齐方式)。响应于接收到该信息,低功率处理器704中的迷你USB驱动器306向应用处理器702上的USB驱动器发送请求。该请求可以包括流启用命令、HLOS 令牌、音频格式、信道数目、比特率、传输缓冲器大小和保留字段(框714)。应用处理器702用附加信息进行响应(框716),附加信息包括状态、时隙标识符、USB接口描述符、USB音频同步数据端点描述、包括音频格式的特定音频接口字段、设备数据路径延迟和时隙大小、诸如地址(虚拟、物理和/或大小)的任何应用处理器特定存储器信息、所分配的传输缓冲器、设备上下文基地址、辅助中断器号、USB核标识符和端口号。USB(控制器)核标识符是物理地标识USB核的唯一性编号(例如,USB控制器的基地址)。当SoC中存在多个USB控制器实例时,使用USB控制器标识符。每个USB控制器可以被连接到多个物理端口,这些端口由端口号唯一性地标识。
同样地,图8A-8F解说了根据本公开的示例性方面的各种元件之间的信号流的更详细版本。就此而言,图8A解说始于中断启用的会话800。特别地,图8A解说了结合应用处理器音频框架804、AFE驱动器806、迷你USB驱动器808和USB硬件810工作的应用处理器USB驱动器802。信令始于连接、枚举、配置和会话开始(框812)。USB硬件810检测到音频设备连接并开始枚举(信号814)。USB驱动器802配置辅助事件环(信号816)并对USB硬件810中的事件环寄存器进行编程(信号818)。USB 驱动器802向音频框架804发送连接通知(信号820),音频框架804向用户提供诸如“选择MICROSOFT头戴式耳机”的选择设备弹出窗口(信号 822)该音频框架接收用户回放请求(信号824)并将设置配置请求(信号 826)发送到AFE驱动器806。AFE驱动器806将信号828发送到迷你USB 驱动器808。信号828类似于信号710,并且可以包括令牌和其他音频信息。迷你USB驱动器808向USB驱动器802发送流请求(信号830)。USB驱动器802分配存储器,发起传输环,并创建传输数据缓冲器(信号832)。 USB驱动器802随后向USB硬件810发送更新设备上下文的命令(信号 834)以及在回放接口上发布SET_ALT命令(信号836)。USB驱动器802 将具有状态信息的流响应发送到迷你USB驱动器808(信号838)。迷你 USB驱动器808设立USB管道(信号840)并启用USB硬件810处的辅助中断器(信号842)。AFE驱动器806用至迷你USB驱动器808的信号844 来开始会话(信号844)。该过程继续进行数据传输(信号846)和ACK 事件(信号848),直到发生对睡眠状态的票决850。
图8B解说了以轮询代替中断开始的会话。在大多数情况下,过程800B 类似于图8A的过程800。对辅助事件环的配置(信号816A)和事件寄存器的编程(信号818A)被移至流请求信号830之后。此外,省略了辅助中断器的启用(信号842)。代替辅助中断器,过程800B使用轮询。为了允许轮询,迷你USB驱动器808启用周期性定时器中断(信号852)。当响应于该定时器发生定时器中断(框854)时,迷你USB驱动器808向AFE 驱动器806发送通知数据请求(信号856)并从其接收写信号858。迷你 USB驱动器808查看USB硬件810处的队列数据传输(信号860)并轮询 ACK事件(信号862)。
图8C解说了会话停止过程800C。初始地,迷你USB驱动器808和USB硬件810交换数据传输和ACK事件(分别为信号864和866)。用户停止回放(框868),并且音频框架向AFE驱动器806发起解除配置请求 (信号870)。AFE驱动器806向迷你USB驱动器808发送停止会话命令 (信号872),迷你USB驱动器808向USB驱动器802发送流请求。USB 驱动器802解除分配存储器、传输环和传输数据缓冲器(信号876),并用至USB硬件810的信号878来更新设备上下文。另外,USB驱动器802发布针对USB硬件上的回放接口的命令(信号880),并向迷你USB驱动器 808提供流响应(信号882)。迷你USB驱动器808取消配置OUT管道(信号884)并禁用辅助中断器(信号886)。USB驱动器802随后允许自由事件环(信号888)。
图8D解说了通过断连过程800D来结束的会话。过程800D始于迷你 USB驱动器808和USB硬件810交换数据传输和ACK事件(分别为信号 864和866)。用户断连外围设备(框890)。USB硬件810将音频设备断连信号892发送到USB驱动器802。USB驱动器802宣告释放时隙事件(信号894)并向音频框架804发送断连的通知(信号896)。音频框架804向 AFE驱动器806发送解除配置请求(信号898),AFE驱动器806进而向迷你USB驱动器808发送停止会话命令(信号8100)。迷你USB驱动器 808向USB驱动器802发送流请求(信号8102),USB驱动器802解除分配存储器、传输环和传输数据缓冲器(信号876)。USB驱动器802随后向迷你USB驱动器808发送流响应(信号8104)。迷你US驱动器808随后取消配置OUT管道(信号884),并且过程800D与过程800C类似地结束。
图8E解说了通过断连过程800E来结束的会话,其中断连通知去往 ADSP迷你USB驱动器。过程800E始于迷你USB驱动器808和USB硬件 810交换数据传输和ACK事件(分别为信号864和866)。用户断连外围设备 (框890)。USB硬件810将音频设备断连信号892发送到USB驱动器802。 USB驱动器802宣告释放时隙事件(信号894)并用时隙标识向迷你USB 驱动器808发送断连的通知(信号8106)。迷你USB驱动器808停止USB 数据和同步定时器并取消映射传输环和数据缓冲器(信号8108)。迷你USB 驱动器808随后禁用辅助中断器(信号8110)并向USB驱动器802发送异步禁用流请求(信号8112)。AFE驱动器806随后向迷你USB驱动器发送读/写命令(信号8114),该迷你USB驱动器恰适地插入静默和/或丢弃数据(信号8116)。同时,USB驱动器802执行断连和清除(信号8118)并且向音频框架804通知断连(信号896)。音频框架804随后关闭AFE驱动器806处的恰适端口(信号8120)。AFE驱动器806随后向迷你USB驱动器808发送停止会话命令(信号8100)。迷你USB驱动器808停止AFE 定时器并释放AFE管道(信号8122)。AFE驱动器806随后发送UAC关闭命令(信号8124),并且迷你USB驱动器808解除分配软件上下文(信号8126)。
图8F解说了通过断连而没有中断(即,使用轮询)来结束的会话的过程800F。过程800F始于定时器中断(框854)以及信号856、858、860和 862(见上文的图8B)。用户断连外围设备(框890)。USB硬件810将音频设备断连信号892发送到USB驱动器802。USB驱动器802用时隙标识向迷你USB驱动器808发送断连的通知(信号8106)。迷你USB驱动器808 停止USB数据和同步定时器并取消映射传输环和数据缓冲器(信号8108)。迷你USB驱动器808向USB驱动器802发送异步禁用流请求(信号8112)。 AFE驱动器806随后向迷你USB驱动器发送读/写命令(信号8114),该迷你 USB驱动器恰适地插入静默和/或丢弃数据(信号8116)。同时,USB驱动器 802执行断连和清除(信号8118)并且向音频框架804通知断连(信号896)。音频框架804随后关闭AFE驱动器806处的恰适端口(信号8120)。AFE驱动器806随后向迷你USB驱动器808发送停止会话命令(信号8100)。迷你 USB驱动器808停止AFE定时器并释放AFE管道(信号8122)。AFE驱动器806随后发送UAC关闭命令(信号8124),并且迷你USB驱动器808解除分配软件上下文(信号8126)。注意,不需要禁用辅助中断器,因为它在轮询方面不存在。
在图8D中,断连通知通过应用处理器USB驱动器802上的音频框架 804隐式地传递给迷你USB驱动器808。相反,在图8E中,断连通知被显式地传递给迷你USB驱动器808。图8E和8F之间的区别在于图8F中缺少中断并使用轮询。
图9A-9E解说了图6的过程600的使用情形,并且尤其解说了语音呼叫。在插入外部数字USB外围设备322(在此情形中是USB头戴式耳机设备)之后,应用处理器308上的USB主机驱动器310使用非音频分组来枚举和配置USB头戴式耳机设备(框902)。USB主机驱动器310向HLOS 音频框架804通知USB头戴式耳机设备(框904)。HLOS音频框架804 选择USB头戴式耳机设备作为回放/记录设备(框906)。
HLOS音频框架804用唯一性的USB设备标识符令牌、音频格式、采样率、位宽、信道信息等来通知低功率处理器304上的音频前端(AFE) 驱动器806(框908)。AFE驱动器806向迷你USB驱动器306发布输入/ 输出控制(IOCTL)通知以配置音频会话(框910)。迷你USB驱动器306 从应用处理器308上的USB主机驱动器310请求USB头戴式耳机设备信息,并向应用处理器308上的USB主机驱动器310发送要启用或禁用流请求的请求(框912)。
应用处理器308上的USB主机驱动器310向迷你USB驱动器306提供信息(框914),包括设备时隙ID、中断器号、音频接口描述符、音频端点/描述符、事件环、传输环、缓冲器和设备上下文基地址(DCBA)信息。有关DCBA的更多信息可以在可扩展主机控制器接口(xHCI)规范中找到。迷你USB驱动器306启用USB硬件318上的第二中断器(框916)。
AFE驱动器806向和从蜂窝网络传送或接收音频分组(框918)。迷你USB驱动器306将向和从USB头戴式耳机设备发送和/或接收AFE音频流数据(框920)。另外,迷你USB驱动器306可以请求USB主机驱动器 310启用或禁用音频流。作为响应,USB主机驱动器310将使用控制端点来选择替代接口以启用或禁用音频流。
在通过迷你USB驱动器306在AFE驱动器806和USB头戴式耳机设备之间交换AFE音频流数据的同时,应用处理器308可以进入睡眠状态(框 922)。由此,音频分组完全绕过应用处理器308(框924)。
图10A和10B解说了用于低功率处理器的子系统重置的信号流。在图 10A中,过程1000A始于迷你USB驱动器808和USB硬件810交换数据传输和ACK事件(分别为信号864和866)。低功率处理器经历子系统重置(框1002)。USB驱动器802接收客户端断连通知(框1004)并开始事件环清除(信号1006)。USB驱动器802禁用USB硬件810处的辅助中断器(信号1008)并且禁用USB硬件810处的音频流输入和输出(信号 1010)。在将来的某个时间,低功率处理器子系统离开重置(框1012)。音频框架804接收离开重置的通知(信号1014),并且USB驱动器802经历客户端连接通知(框1016)。在过程1000A中,USB驱动器802在配置辅助事件环之后重新编程ERSTBA和ESTSZ(信号1018)并重启回放和/ 或记录(框1020),这使得音频框架804设置至AFE驱动器806的配置请求(信号1022)。AFE驱动器806随后将设置的配置命令发送到迷你USB 驱动器808(信号1024)。USB驱动器802向迷你USB驱动器808发送流请求(信号1026)并分配存储器、传输环和数据缓冲器(信号1028)。USB 驱动器802随后更新USB硬件810处的设备上下文(信号1030)并在回放设备上发布SET-ALT命令(信号1032)。USB驱动器802向迷你USB驱动器808发送流响应(信号1034),并且迷你USB驱动器808设立输出/输入管道(信号1036)。过程1000A类似于图8A的过程800继续。
相反,在图10B中,辅助事件环配置有重启之后发生的ERSTBA和 ERSTSZ的后续重新编程(信号1018)。
虽然将处理卸载到低功率处理器的能力提供了功率节省的机会,但有可能存在等待时间问题超驰对功率节省的期望的时候。相应地,本公开构想了应用处理器可以评估等待时间要求并实现或跳过在低功率处理器上利用迷你USB驱动器。
就此而言,图11解说了在应用处理器处执行以确定是否将处理卸载到迷你USB驱动器的过程1100。具体地,应用处理器确定数据分组是否源自或去往应用处理器(框1102)。如果回答为否,则应用处理器通过将数据流卸载到迷你USB驱动器来实现如上所阐述的本公开的各方面(框1104)。然而,如果数据分组确实源自或者去往应用处理器,则该应用处理器确定数据分组是否在该应用处理器处被编码或解码(框1106)。如果对框1106 的回答为否,则应用处理器将数据流卸载到迷你USB驱动器(框1104)。然而,如果编码/解码确实在应用处理器处发生,则应用处理器使用主机 USB驱动器来处理分组(框1108)。
根据本文所公开的各方面的用于使用分布式USB主机驱动器的系统和方法可以在任何基于处理器的设备中提供或被集成到任何基于处理器的设备中。不作为限定的示例包括:机顶盒、娱乐单元、导航设备、通信设备、固定位置数据单元、移动位置数据单元、移动电话、蜂窝电话、智能电话、平板设备、平板手机、服务器、计算机、便携式计算机、台式计算机、个人数字助理(PDA)、监视器、计算机监视器、电视机、调谐器、无线电、卫星无线电、音乐播放器、数字音乐播放器、便携式音乐播放器、数字视频播放器、视频播放器、数字视频碟(DVD)播放器、便携式数字视频播放器、以及汽车。
就此而言,图12解说了可以采用图1中所解说的移动通信设备100的基于处理器的系统1200的示例。在该示例中,基于处理器的系统1200包括一个或多个中央处理单元(CPU)1202,每个中央处理单元包括一个或多个处理器 1204。(诸)CPU 1202可以具有耦合至(诸)处理器1204以用于对临时存储的数据进行快速访问的高速缓存存储器1206。(诸)CPU 1202被耦合至系统总线1208,且可交互耦合被包括在基于处理器的系统1200中的主设备和从设备。如众所周知的,(诸)CPU 1202通过在系统总线1208上交换地址、控制、以及数据信息来与这些其他设备通信。例如,(诸)CPU 1202 可以向作为从设备的示例的存储器控制器1210传达总线事务请求。
其他主设备和从设备可被连接到系统总线1208。如在图12中所解说的,作为示例,这些设备可以包括存储器系统1212、一个或多个输入设备1214、一个或多个输出设备1216、一个或多个网络接口设备1218、以及一个或多个显示器控制器1220。(诸)输入设备1214可以包括任何类型的输入设备,包括但不限于输入键、开关、语音处理器等。(诸)输出设备1216可以包括任何类型的输出设备,包括但不限于音频、视频、其他视觉指示器等。(诸)网络接口设备1218可以是被配置成允许往来于网络1222的数据交换的任何设备。网络1222可以是任何类型的网络,包括但不限于有线或无线网络、私有或公共网络、局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、蓝牙TM网络、以及因特网。(诸)网络接口设备1218可以被配置成支持所期望的任何类型的通信协议。存储器系统1212可包括一个或多个存储器单元1224(0-N)。
(诸)CPU 1202还可被配置成在系统总线1208上访问(诸)显示器控制器1220以控制发送给一个或多个显示器1226的信息。(诸)显示器控制器1220 经由一个或多个视频处理器1228向(诸)显示器1226发送要显示的信息,该视频处理器1228将要显示的信息处理成适用于(诸)显示器1226的格式。(诸) 显示器1226可包括任何类型的显示器,包括但不限于阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、发光二极管(LED)显示器等。
本领域技术人员将进一步领会,结合本文所公开的各方面描述的各种解说性逻辑块、模块、电路和算法可被实现为电子硬件、存储在存储器中或另一计算机可读介质中并由处理器或其他处理设备执行的指令、或这两者的组合。作为示例,本文所描述的从设备可被用在任何电路、硬件组件、集成电路(IC)、或IC芯片中。本文中所公开的存储器可以是任何类型和大小的存储器,且可配置成存储所需的任何类型的信息。为清楚地解说这种可互换性,各种解说性组件、框、模块、电路和步骤在上文已经以其功能性的形式一般性地作了描述。此类功能性如何被实现取决于具体应用、设计选择、和/或加诸于整体系统上的设计约束。技术人员可针对每种特定应用以不同方式来实现所描述的功能性,但此类实现决策不应被解读为致使脱离本公开的范围。
结合本文中所公开的各方面描述的各种解说性逻辑块、模块以及电路可用被设计成执行本文中所描述的功能的处理器、DSP、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件或其任何组合来实现或执行。处理器可以是微处理器,但在替换方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可以被实现为计算设备的组合(例如DSP与微处理器的组合、多个微处理器、与DSP核协作的一个或多个微处理器、或任何其他此类配置)。
本文所公开的各方面可被体现为硬件和存储在硬件中的指令,并且可驻留在例如随机存取存储器(RAM)、闪存、只读存储器(ROM)、电可编程ROM (EPROM)、电可擦可编程ROM(EEPROM)、寄存器、硬盘、可移动盘、 CD-ROM、或本领域中所知的任何其它形式的计算机可读介质中。示例性存储介质被耦合到处理器,以使得处理器能从/向该存储介质读取信息和写入信息。替换地,存储介质可被整合到处理器。处理器和存储介质可驻留在ASIC中。 ASIC可驻留在远程站中。在替换方案中,处理器和存储介质可作为分立组件驻留在远程站、基站或服务器中。
还注意到,本文任何示例性方面中描述的操作步骤是为了提供示例和讨论而被描述的。所描述的操作可按除了所解说的顺序之外的众多不同顺序来执行。此外,在单个操作步骤中描述的操作实际上可在数个不同步骤中执行。另外,示例性方面中讨论的一个或多个操作步骤可被组合。应理解,如对本领域技术人员显而易见地,在流程图中解说的操作步骤可进行众多不同的修改。本领域技术人员还将理解,可使用各种不同技术和技艺中的任何一种来表示信息和信号。例如,贯穿上面说明始终可能被述及的数据、指令、命令、信息、信号、比特、码元和码片可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子、或其任何组合来表示。
提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员而言将容易是显而易见的,并且本文中所定义的普适原理可被应用到其他变型而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖特征一致的最广义的范围。
Claims (23)
1.一种控制通用串行总线(USB)系统中的音频流的方法,包括:
在应用处理器和外部数字USB外围设备之间建立连接;
允许音频数字信号处理器(DSP)通过系统总线将音频分组传递到USB硬件;以及
将所述音频分组从所述USB硬件传递到所述外部数字USB外围设备。
2.如权利要求1所述的方法,其特征在于,建立所述连接包括建立与头戴式耳机的连接。
3.如权利要求1所述的方法,其特征在于,允许所述音频DSP传递所述音频分组包括使用所述音频DSP中的USB驱动器。
4.如权利要求1所述的方法,其特征在于,进一步包括:在所述音频DSP将所述音频分组传递到所述USB硬件的同时,将所述应用处理器置于低功率模式。
5.一种片上系统,包括:
系统总线;
通用串行总线(USB)硬件;
USB连接器,所述USB连接器通信地耦合至所述USB硬件并被配置成耦合至外部数字USB外围设备;
应用处理器,所述应用处理器通过所述系统总线通信地耦合至所述USB硬件,所述应用处理器包括USB主机驱动器;以及
音频数字信号处理器(DSP),所述音频数字信号处理器通过所述系统总线通信地耦合至所述USB硬件,所述音频数字信号处理器包括第二USB驱动器;
其中,所述应用处理器被配置成通过所述USB硬件和所述USB连接器来枚举和设立USB端点,并将关于所述USB端点的数据传递到所述音频DSP,使得所述音频DSP能将音频分组传递到所述USB硬件。
6.一种处置通用串行总线(USB)音频设备的方法,包括:
在应用处理器和音频数字信号处理器(DSP)之间分布USB驱动器;
通过所述应用处理器来枚举和配置USB端点;以及
用所述音频DSP来控制数据分组的音频流。
7.如权利要求6所述的方法,其特征在于,进一步包括:用所述应用处理器来选择替代音频接口。
8.如权利要求6所述的方法,其特征在于,进一步包括:用所述应用处理器来对来自USB端点的音频控制数据作出响应。
9.一种在片上系统中节省功率的方法,包括:
将通用串行总线(USB)连接从应用处理器传递到片上系统中的音频数字信号处理器(DSP);以及
在所述音频DSP将音频分组传递给USB硬件的同时,票决将所述应用处理器置于低功率模式。
10.一种控制通用串行总线(USB)端点的方法,包括:
用应用处理器上的USB驱动器来枚举USB端点;
从音频数字信号处理器(DSP)上的第二USB驱动器接收要启用或禁用音频数据流的请求;
响应于所述请求,使用控制端点和所述应用处理器上的所述USB驱动器来启用或禁用所选的音频接口;
从所述应用处理器上的所述USB驱动器向所述音频DSP上的所述第二USB驱动器提供设备描述符;
在所述第二USB驱动器处,使用从所述USB驱动器传递的所述设备描述符来执行数据传输。
11.如权利要求10所述的方法,其特征在于,进一步包括用所述应用处理器上的所述USB驱动器来处理人机接口设备(HID)命令。
12.如权利要求11所述的方法,其特征在于,处理所述HID命令包括处理音量增大、音量减小、播放、暂停、静音、取消静音和停止。
13.一种用于应用处理器通用串行总线(USB)驱动器和音频信号数字处理器(DSP)USB驱动器之间的处理器间通信的方法,所述方法包括:
从应用USB驱动器向音频DSP USB驱动器发送选自包括以下各项的组的信息:时隙标识符、设备描述符、音频数据和同步端点描述符、因音频接口而异的描述符、以及中断器号。
14.一种用于控制至通用串行总线(USB)端点的通信的方法,包括:
确定第一分组是在应用处理器处被编码或解码的,并且响应于关于所述第一分组的确定,使用应用处理器USB驱动器来对与所述第一分组相关联的音频流提供服务;以及
确定第二分组是在音频数字信号处理器(DSP)处被编码或解码的,并且响应于关于所述第二分组的确定,使用音频DSP USB驱动器来对与所述第二分组相关联的音频流提供服务。
15.一种控制通用串行总线(USB)系统中的多媒体流的方法,包括:
在应用处理器和外部数字USB外围设备之间建立连接;
允许第二处理器通过系统总线将多媒体分组传递到USB硬件;以及
将所述多媒体分组从所述USB硬件传递到所述外部数字USB外围设备。
16.如权利要求15所述的方法,其特征在于,将所述多媒体分组从所述USB硬件传递到所述外部数字USB外围设备包括通过USB兼容电缆来传递所述多媒体分组。
17.如权利要求15所述的方法,其特征在于,将所述多媒体分组从所述USB硬件传递到所述外部数字USB外围设备包括通过专有电缆来传递所述多媒体分组。
18.一种片上系统(SOC),包括:
系统总线;
通用串行总线(USB)硬件;
USB连接器,所述USB连接器通信地耦合至所述USB硬件并被配置成耦合至外部数字USB外围设备;
应用处理器,所述应用处理器通过所述系统总线通信地耦合至所述USB硬件,所述应用处理器包括USB主机驱动器;以及
第二处理器,所述第二处理器通过所述系统总线通信地耦合至所述USB硬件,所述第二处理器包括第二USB驱动器;
其中,所述应用处理器被配置成通过所述USB硬件和所述USB连接器来枚举和设立USB端点,并将关于所述USB端点的数据传递到所述第二处理器,使得所述第二处理器能将数据分组传递到所述USB硬件。
19.一种在片上系统(SoC)中节省功率的方法,包括:
将通用串行总线(USB)连接从应用处理器传递到SoC中的第二处理器;以及
在所述第二处理器将多媒体分组传递给USB硬件的同时,票决将所述应用处理器置于低功率模式。
20.一种控制通用串行总线(USB)端点的方法,包括:
用应用处理器上的USB驱动器来枚举USB端点;
从第二处理器上的第二USB驱动器接收要启用或禁用多媒体数据流的请求;
响应于所述请求,使用控制端点和所述应用处理器上的所述USB驱动器来启用或禁用所选的多媒体接口;
从所述应用处理器上的所述USB驱动器向所述第二处理器上的所述第二USB驱动器提供设备描述符;以及
在所述第二USB驱动器处,使用从所述USB驱动器传递的所述设备描述符来执行数据传输。
21.一种用于应用处理器通用串行总线(USB)驱动器和迷你USB驱动器之间的处理器间通信的方法,所述方法包括:
从应用处理器USB驱动器向迷你USB驱动器发送选自包括以下各项的组的信息:时隙标识符、设备描述符、音频数据和同步端点描述符、因音频接口而异的描述符、以及中断器号。
22.一种用于控制至通用串行总线(USB)端点的通信的方法,包括:
确定第一分组是在应用处理器处被编码或解码的,并且响应于关于所述第一分组的确定,使用应用处理器USB驱动器来对与所述第一分组相关联的数字数据流提供服务;以及
确定第二分组是在第二处理器处被编码或解码的,并且响应于关于所述第二分组的确定,使用迷你USB驱动器来对与所述第二分组相关联的数字数据流提供服务。
23.一种用于控制通用串行总线(USB)系统中的处理器之间的分组路由的方法,所述方法包括:
确定去往或源自外部数字USB外围设备的分组流的使用情形;
基于所述使用情形来确定等待时间要求;以及
确定要通过应用处理器还是第二处理器来路由所述分组流以满足所述等待时间要求。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662355279P | 2016-06-27 | 2016-06-27 | |
US62/355,279 | 2016-06-27 | ||
US201762514211P | 2017-06-02 | 2017-06-02 | |
US62/514,211 | 2017-06-02 | ||
US15/631,088 US10628172B2 (en) | 2016-06-27 | 2017-06-23 | Systems and methods for using distributed universal serial bus (USB) host drivers |
US15/631,088 | 2017-06-23 | ||
PCT/US2017/039201 WO2018005325A1 (en) | 2016-06-27 | 2017-06-26 | Systems and methods for using distributed universal serial bus (usb) host drivers |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109416624A true CN109416624A (zh) | 2019-03-01 |
Family
ID=60675338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780039509.9A Pending CN109416624A (zh) | 2016-06-27 | 2017-06-26 | 用于使用分布式通用串行总线(usb)主机驱动器的系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10628172B2 (zh) |
EP (1) | EP3475834B1 (zh) |
CN (1) | CN109416624A (zh) |
TW (1) | TW201810016A (zh) |
WO (1) | WO2018005325A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114860642A (zh) * | 2021-02-05 | 2022-08-05 | Aptiv技术有限公司 | 用于主设备与外围设备之间的串行数据通信的装置和方法 |
CN114879931A (zh) * | 2022-07-11 | 2022-08-09 | 南京芯驰半导体科技有限公司 | 一种支持多操作系统的板载音频路径管理方法及系统 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10678494B2 (en) | 2016-06-27 | 2020-06-09 | Qualcomm Incorporated | Controlling data streams in universal serial bus (USB) systems |
TWI634477B (zh) * | 2017-03-09 | 2018-09-01 | 元鼎音訊股份有限公司 | 聲音訊號偵測裝置 |
CN110168511B (zh) * | 2017-09-29 | 2021-02-09 | 华为技术有限公司 | 一种电子设备和降低功耗的方法及装置 |
CN109819108B (zh) * | 2019-01-04 | 2021-03-02 | Oppo广东移动通信有限公司 | 调整驱动参数的方法、装置、电子设备及存储介质 |
TWI714055B (zh) * | 2019-04-16 | 2020-12-21 | 瑞昱半導體股份有限公司 | 資料傳輸方法及資料傳輸系統 |
US11537190B2 (en) * | 2019-09-11 | 2022-12-27 | Silicon Laboratories Inc. | Dual processor system for reduced power application processing |
KR20210101553A (ko) * | 2020-02-10 | 2021-08-19 | 삼성전자주식회사 | 전자 장치 및 이를 이용한 usb 타입 c 커넥터에 연결된 오디오 출력 장치 인식 방법 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101105784A (zh) * | 2007-07-13 | 2008-01-16 | 上海大学 | 基于视音频嵌入式开发平台的高速数字图像/视频信号分析与处理选件二次开发板 |
US20090111524A1 (en) * | 2007-10-31 | 2009-04-30 | Palm, Inc. | Power management techniques for a universal serial bus |
CN201341169Y (zh) * | 2009-01-08 | 2009-11-04 | 沈逸林 | 多功能媒体话机终端 |
CN101882116A (zh) * | 2010-06-13 | 2010-11-10 | 中兴通讯股份有限公司 | 音频传输的实现方法及移动终端 |
US20100318917A1 (en) * | 2009-06-16 | 2010-12-16 | Harman International Industries, Incorporated | Networked audio/video system |
CN102449961A (zh) * | 2009-03-26 | 2012-05-09 | 超级计算公司 | 用于分组路由的方法和装置 |
CN102667924A (zh) * | 2010-06-08 | 2012-09-12 | 三星电子株式会社 | 利用选择性功率控制对音频数据进行解码的方法和系统 |
EP2506262A2 (en) * | 2011-03-28 | 2012-10-03 | YAMAHA Corporation | Audio data inputting apparatus and audio data outputting apparatus |
CN104813296A (zh) * | 2012-10-09 | 2015-07-29 | 谷歌公司 | Usb音频和电力传输 |
US20160007112A1 (en) * | 2014-07-02 | 2016-01-07 | Sonetics Holdings, Inc. | Restricted ball and socket joint for headset earcup |
CN105849668A (zh) * | 2013-12-16 | 2016-08-10 | 高通股份有限公司 | 计算设备中的功率节省技术 |
Family Cites Families (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6577337B1 (en) | 1997-12-01 | 2003-06-10 | Samsung Electronics Co., Ltd. | Display apparatus for visual communication |
US6615890B1 (en) * | 2000-06-09 | 2003-09-09 | Venture Tape Corp. | Tape applicator for glazing applications |
US20020069308A1 (en) * | 2000-07-10 | 2002-06-06 | Songpro.Com, Inc. | Method and apparatus for delivering digital multimedia content |
US6957287B2 (en) | 2001-11-09 | 2005-10-18 | Aten International Co., Ltd. | Asynchronous/synchronous KVMP switch for console and peripheral devices |
US7453843B2 (en) * | 2001-12-11 | 2008-11-18 | Texas Instruments Incorporated | Wireless bandwidth aggregator |
US8313374B2 (en) * | 2003-02-14 | 2012-11-20 | Wms Gaming Inc. | Gaming machine having improved audio control architecture |
US20080229335A1 (en) | 2004-06-04 | 2008-09-18 | Apple Computer, Inc. | Network media device |
US20070152076A1 (en) | 2004-12-13 | 2007-07-05 | Chiang Kuo C | Monitoring system with a wireless transmitting/receiving module |
EP1677175B1 (en) | 2004-12-31 | 2013-08-28 | ST-Ericsson SA | Dynamic power management in system on chips (SOC) |
US20060182427A1 (en) | 2005-02-15 | 2006-08-17 | Phison Electronics Corp. | [multimedia player] |
US7241948B2 (en) | 2005-03-03 | 2007-07-10 | Iguitar, Inc. | Stringed musical instrument device |
JP2007179410A (ja) * | 2005-12-28 | 2007-07-12 | Sony Corp | 情報処理システム、情報処理装置、および、情報処理方法、プログラム、並びに、記録媒体 |
US7873841B2 (en) * | 2006-10-30 | 2011-01-18 | Sony Ericsson Mobile Communications Ab | Method of maintaining a USB active state without data transfer |
US8429299B2 (en) | 2008-10-03 | 2013-04-23 | Advanced Micro Devices, Inc. | Distributed audio and video processing |
JP2010175587A (ja) * | 2009-01-27 | 2010-08-12 | Seiko Epson Corp | 画像表示システムおよび画像入力装置 |
CN101566940B (zh) | 2009-05-25 | 2012-02-29 | 中兴通讯股份有限公司 | 实现无线数据终端通用串行总线音频传输的方法及装置 |
JP5418134B2 (ja) * | 2009-10-16 | 2014-02-19 | 富士通株式会社 | 情報端末およびコンピュータプログラム |
US8200853B2 (en) | 2010-01-14 | 2012-06-12 | Microsoft Corporation | Extensions for USB driver interface functions |
US8521934B1 (en) | 2010-02-25 | 2013-08-27 | Fresco Logic, Inc. | Multi-port context-based host controller |
US8639954B2 (en) * | 2010-12-20 | 2014-01-28 | Motorola Mobility Llc | Portable electronic device and method for recovering power to a rechargeable battery used therein |
US8886699B2 (en) | 2011-01-21 | 2014-11-11 | Cloudium Systems Limited | Offloading the processing of signals |
US9553776B2 (en) * | 2011-05-16 | 2017-01-24 | Avocent Huntsville, Llc | System and method for accessing operating system and hypervisors via a service processor of a server |
US8787381B2 (en) * | 2011-06-08 | 2014-07-22 | Broadcom Corporation | Quality of service, battery lifetime, and latency in wireless communication devices |
US9170634B2 (en) | 2011-06-30 | 2015-10-27 | Mcci Corporation | Power management module for USB devices |
US9081703B2 (en) | 2011-09-15 | 2015-07-14 | Nokia Technologies Oy | Method and apparatuses for facilitating sharing device connections between a host and client based on the power mode of the host |
US9053246B2 (en) | 2011-11-17 | 2015-06-09 | Mcci Corporation | USB class protocol modules |
TWI482025B (zh) * | 2012-01-05 | 2015-04-21 | Nuvoton Technology Corp | 超級輸入輸出模組及其控制方法 |
US9838810B2 (en) * | 2012-02-27 | 2017-12-05 | Qualcomm Technologies International, Ltd. | Low power audio detection |
WO2013147860A1 (en) | 2012-03-30 | 2013-10-03 | Intel Corporation | Usb hub with automatic communication mode switching |
US20130282951A1 (en) * | 2012-04-19 | 2013-10-24 | Qualcomm Incorporated | System and method for secure booting and debugging of soc devices |
CN113470640B (zh) * | 2013-02-07 | 2022-04-26 | 苹果公司 | 数字助理的语音触发器 |
US9509904B2 (en) | 2014-04-23 | 2016-11-29 | Imperx, Inc. | User programmable image capturing and processing device |
CN105278650B (zh) * | 2014-05-28 | 2018-10-12 | 精工爱普生株式会社 | 电子设备 |
CN105335311A (zh) * | 2014-07-04 | 2016-02-17 | 纬创资通股份有限公司 | 便携式电子装置及电源管理方法 |
US9684915B1 (en) | 2014-07-11 | 2017-06-20 | ProSports Technologies, LLC | Method, medium, and system including a display device with authenticated digital collectables |
US10860990B2 (en) | 2014-11-06 | 2020-12-08 | Ecoatm, Llc | Methods and systems for evaluating and recycling electronic devices |
KR20160054850A (ko) | 2014-11-07 | 2016-05-17 | 삼성전자주식회사 | 다수의 프로세서들을 운용하는 장치 및 방법 |
CN107427224A (zh) | 2015-03-19 | 2017-12-01 | 皇家飞利浦有限公司 | 具有两个使用阶段的可穿戴设备 |
US20160378465A1 (en) | 2015-06-23 | 2016-12-29 | Intel Corporation | Efficient sparse array handling in a processor |
US20160381191A1 (en) * | 2015-06-26 | 2016-12-29 | Intel IP Corporation | Dynamic management of inactivity timer during inter-processor communication |
US20170373881A1 (en) | 2016-06-27 | 2017-12-28 | Qualcomm Incorporated | Systems and methods for controlling isochronous data streams |
US10678494B2 (en) | 2016-06-27 | 2020-06-09 | Qualcomm Incorporated | Controlling data streams in universal serial bus (USB) systems |
US10615554B2 (en) | 2016-10-26 | 2020-04-07 | Tri-Lock Technologies Llc | Multi-functional cord apparatus and system |
US10345879B2 (en) | 2016-11-29 | 2019-07-09 | DISH Technologies L.L.C. | Capacitance based accessory connection detection for a battery powered unit |
-
2017
- 2017-06-23 US US15/631,088 patent/US10628172B2/en active Active
- 2017-06-26 EP EP17737422.0A patent/EP3475834B1/en active Active
- 2017-06-26 WO PCT/US2017/039201 patent/WO2018005325A1/en unknown
- 2017-06-26 CN CN201780039509.9A patent/CN109416624A/zh active Pending
- 2017-06-26 TW TW106121281A patent/TW201810016A/zh unknown
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101105784A (zh) * | 2007-07-13 | 2008-01-16 | 上海大学 | 基于视音频嵌入式开发平台的高速数字图像/视频信号分析与处理选件二次开发板 |
US20090111524A1 (en) * | 2007-10-31 | 2009-04-30 | Palm, Inc. | Power management techniques for a universal serial bus |
CN201341169Y (zh) * | 2009-01-08 | 2009-11-04 | 沈逸林 | 多功能媒体话机终端 |
CN102449961A (zh) * | 2009-03-26 | 2012-05-09 | 超级计算公司 | 用于分组路由的方法和装置 |
US20100318917A1 (en) * | 2009-06-16 | 2010-12-16 | Harman International Industries, Incorporated | Networked audio/video system |
CN102667924A (zh) * | 2010-06-08 | 2012-09-12 | 三星电子株式会社 | 利用选择性功率控制对音频数据进行解码的方法和系统 |
CN101882116A (zh) * | 2010-06-13 | 2010-11-10 | 中兴通讯股份有限公司 | 音频传输的实现方法及移动终端 |
EP2506262A2 (en) * | 2011-03-28 | 2012-10-03 | YAMAHA Corporation | Audio data inputting apparatus and audio data outputting apparatus |
CN102736999A (zh) * | 2011-03-28 | 2012-10-17 | 雅马哈株式会社 | 音频数据输入设备和音频数据输出设备 |
CN104813296A (zh) * | 2012-10-09 | 2015-07-29 | 谷歌公司 | Usb音频和电力传输 |
CN105849668A (zh) * | 2013-12-16 | 2016-08-10 | 高通股份有限公司 | 计算设备中的功率节省技术 |
US20160007112A1 (en) * | 2014-07-02 | 2016-01-07 | Sonetics Holdings, Inc. | Restricted ball and socket joint for headset earcup |
Non-Patent Citations (1)
Title |
---|
GAO HUAN-BING等: "The Design of a Network Video Transmission System Based on DSP and USB", 《2010 2ND INTERNATIONAL ASIA CONFERENCE ON INFORMATICS IN CONTROL , AUTOMATION AND ROBOTICS(CAR 2010)》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114860642A (zh) * | 2021-02-05 | 2022-08-05 | Aptiv技术有限公司 | 用于主设备与外围设备之间的串行数据通信的装置和方法 |
CN114879931A (zh) * | 2022-07-11 | 2022-08-09 | 南京芯驰半导体科技有限公司 | 一种支持多操作系统的板载音频路径管理方法及系统 |
CN114879931B (zh) * | 2022-07-11 | 2022-11-22 | 南京芯驰半导体科技有限公司 | 一种支持多操作系统的板载音频路径管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
TW201810016A (zh) | 2018-03-16 |
US20170371681A1 (en) | 2017-12-28 |
US10628172B2 (en) | 2020-04-21 |
EP3475834B1 (en) | 2021-01-27 |
WO2018005325A1 (en) | 2018-01-04 |
EP3475834A1 (en) | 2019-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109416624A (zh) | 用于使用分布式通用串行总线(usb)主机驱动器的系统和方法 | |
US10627893B2 (en) | HSIC communication system and method | |
KR102073171B1 (ko) | 테더링되지 않은 무선 접속된 디바이스들 사이의 역할 스와핑 | |
JP6742465B2 (ja) | ブルートゥーススピーカーにおける連続ウェイクアップ遅延低減の方法、装置及びブルートゥーススピーカー | |
JP6713035B2 (ja) | ファーフィールド音声機能の実現方法、設備、システム、記憶媒体及びプログラム | |
US10678494B2 (en) | Controlling data streams in universal serial bus (USB) systems | |
US10366017B2 (en) | Methods and apparatus to offload media streams in host devices | |
CN102739634B (zh) | 主机设备基于通知挂起到客户端设备的通信链路 | |
WO2019144489A1 (zh) | 显示装置、电子设备及屏幕显示控制方法 | |
JP2013533504A (ja) | 選択的出力制御によってオーディオデータを復号するための方法とシステム | |
WO2023087793A1 (zh) | 音频业务处理方法、装置、电子设备及存储介质 | |
WO2021238404A1 (zh) | 数据卡的切换方法、装置、终端及存储介质 | |
WO2020082705A1 (zh) | 蓝牙音箱的播放控制方法、系统及智能设备 | |
CN113573172A (zh) | 双设备音频播放方法、装置、电子设备及存储介质 | |
CN114258003A (zh) | 音频播放控制方法、系统、设备及存储介质 | |
JP6785332B2 (ja) | ブルートゥーススピーカーデータ処理の方法、装置及びブルートゥーススピーカー | |
JP4423299B2 (ja) | メディアアダプターに関連した複数の通信リンクの使用 | |
WO2024041189A1 (zh) | 一种无线音频/视频装置和无线通信方法 | |
WO2023005880A1 (zh) | 音频控制方法、电子设备、音频设备和存储介质 | |
JP2015002394A (ja) | 情報処理装置及びコンピュータプログラム | |
WO2022042327A1 (zh) | 音频驱动马达的通路配置方法及设备 | |
CN113271385B (zh) | 一种呼叫转移方法 | |
WO2019075620A1 (zh) | 数据处理系统 | |
CN106354556B (zh) | 一种音频传输方法及电子装置 | |
US10827271B1 (en) | Backward compatibility for audio systems and methods |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190301 |