CN107077443A - 用于动态枚举总线的预定义静态枚举 - Google Patents

用于动态枚举总线的预定义静态枚举 Download PDF

Info

Publication number
CN107077443A
CN107077443A CN201580059700.0A CN201580059700A CN107077443A CN 107077443 A CN107077443 A CN 107077443A CN 201580059700 A CN201580059700 A CN 201580059700A CN 107077443 A CN107077443 A CN 107077443A
Authority
CN
China
Prior art keywords
soundwire
slave unit
device number
predefined
communication bus
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.)
Granted
Application number
CN201580059700.0A
Other languages
English (en)
Other versions
CN107077443B (zh
Inventor
L·阿马里利奥
J·R·菲茨杰拉德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN107077443A publication Critical patent/CN107077443A/zh
Application granted granted Critical
Publication of CN107077443B publication Critical patent/CN107077443B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/404Coupling between buses using bus bridges with address mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Small-Scale Networks (AREA)
  • Information Transfer Systems (AREA)

Abstract

公开了用于动态枚举总线的预定义静态枚举系统和过程。在一个方面,该动态枚举总线可以是SOUNDWIRETM总线。从设备被提供预定义设备号,这些预定义设备号被提供给主控方。该主控方使用所提供的预定义设备号来填充地址表。通过提供预定义设备号,迭代枚举过程可被减少或消除,从而节省了时间和/或功率。

Description

用于动态枚举总线的预定义静态枚举
优先权要求
本申请要求于2014年11月5日提交的题为“PREDEFINED STATIC ENUMERATION FORDYNAMIC ENUMERATION BUSES(用于动态枚举总线的预定义静态枚举)”的美国专利申请序列号14/533,240的优先权,该申请通过援引全部纳入于此。
背景
I.公开领域
本公开的技术一般涉及数据总线,尤其涉及SOUNDWIRETM数据总线。
II.背景技术
诸如移动电话和计算机平板之类的移动电子设备(即,“移动终端”)在当代社会上已变得普及以支持各种日常使用。这些电子设备包括话筒以及扬声器。电子设备中使用的典型的话筒和扬声器具有需要专用的两(2)个端口布线来连接每个设备的模拟接口。然而,电子设备可包括多个音频设备,诸如多个话筒和/或扬声器。由此,可能期望允许此类电子设备中的微处理器或其他控制设备能够在共用通信总线上将音频数据传达到多个音频设备。此外,还可能期望提供被定义用于在共用通信总线上向电子设备中的不同音频设备传输与音频信道有关的数字数据的通信协议。
鉴于此,联盟已经宣告把SOUNDWIRETM作为用于向与电子设备相关联的不同音频设备传输与音频信道有关的数据的通信协议。在SOUNDWIRE中,一个SOUNDWIRE主接口允许主电子设备(“主控方”或“主设备”)或者通信地耦合到主电子设备的监视器在共用通信总线上与耦合到SOUNDWIRE从接口的至多达十一个从电子设备(“从动方”或“从设备”)通信。截止至撰写本文时,SOUNDWIRE的当前版本是修订版0.6-r02,其于2014年5月6日通过MIPI的SharePoint文件服务器来使得对于MIPI联盟会员而言是内部可获得的。
SOUNDWIRE定义供从动方连接到SOUNDWIRE总线的规程。该规程涉及供从动方接收总线专用地址以避免数据冲突的迭代过程。该过程有时被称为枚举,因为主控方向每个从动方指派包括一(1)与十一(11)之间的唯一性数字的设备号。一旦所有的从动方都已被枚举,SOUNDWIRE总线的正常操作就可发生。虽然在避免数据冲突方面是有效的,但是迭代过程相对耗时并且每次设备上电时都必须被重复。此外,迭代过程生成消耗功率的重复命令。此类功耗对于电池供电的移动终端而言可能是不期望的。
公开概述
详细描述中公开的各方面包括用于动态枚举总线的预定义静态枚举系统和过程。在示例性方面,该动态枚举总线可以是SOUNDWIRETM总线。从设备被提供预定义设备号,这些预定义设备号被提供给主控方。该主控方使用所提供的预定义设备号来填充地址表。通过提供预定义设备号,迭代枚举过程可被减少或消除,从而节省了时间和/或功率。
就此而言,在一个方面,公开了一种控制SOUNDWIRE总线上主控方与从设备之间的通信的方法。该方法包括在SOUNDWIRE总线上从主控方广播将对应的设备号设为存储在从设备中的预定义设备号的命令。该方法还包括在主控方处使用预定义设备号来枚举从设备。
在另一方面,公开了一种枚举SOUNDWIRE系统的方法。该方法包括将从设备耦合到SOUNDWIRE通信总线。该方法还包括通过SOUNDWIRE通信总线来将预定义设备号提供给主控方。
在另一方面,公开了一种枚举SOUNDWIRE系统的方法。该方法包括检测被耦合到SOUNDWIRE通信总线的从设备。该方法还包括通过SOUNDWIRE通信总线从该从设备接收预定义设备号。
在另一方面,公开了一种SOUNDWIRE主控方。该SOUNDWIRE主控方包括配置成被耦合到SOUNDWIRE通信总线的总线接口。该SOUNDWIRE主控方还包括操作地耦合到总线接口的控制系统。该控制系统被配置成检测被耦合到SOUNDWIRE通信总线的从设备。该控制系统被进一步配置成通过SOUNDWIRE通信总线从该从设备接收预定义设备号。
在另一方面,公开了一种SOUNDWIRE从设备。该SOUNDWIRE从设备包括配置成被耦合到SOUNDWIRE通信总线的总线接口。该从设备还包括操作地耦合到总线接口的控制系统。该控制系统被配置成将总线接口耦合到SOUNDWIRE通信总线。该控制系统还被配置成通过SOUNDWIRE通信总线来将预定义设备号提供给主控方。
在另一方面,公开了一种SOUNDWIRE系统。该SOUNDWIRE系统包括SOUNDWIRE通信总线。该SOUNDWIRE系统还包括从设备。该从设备包括耦合到SOUNDWIRE通信总线的从动总线接口。该从设备还包括设备标识号。该从设备还包括与设备标识号相异的预定义设备号。该SOUNDWIRE系统还包括主控方。该主控方包括耦合到SOUNDWIRE通信总线的主控总线接口。该主控方还包括操作地耦合到主控总线接口的控制系统。该控制系统被配置成检测耦合到SOUNDWIRE通信总线的从设备。该控制系统还被配置成从该从设备接收预定义设备号。
附图简述
图1是常规SOUNDWIRETM系统的框图;
图2A是常规SOUNDWIRE系统在枚举之前的框图;
图2B是常规SOUNDWIRE系统在枚举之后的框图;
图3是根据本公开的示例性方面的SOUNDWIRE系统在枚举之前的框图,其中至少一个从动方具有预定义设备号;
图4是根据本公开的示例性方面的枚举过程的流程图;
图5是SOUNDWIRE系统在图4的枚举过程之后的框图;
图6是由主控方用于保持附连到图5的SOUNDWIRE系统的从动方的设备号的示例性表;以及
图7是可包括图5的SOUNDWIRE系统的基于处理器的示例性系统的框图。
详细描述
现在参照附图,描述了本公开的若干示例性方面。措辞“示例性”在本文中用于表示“用作示例、实例或解说”。本文中描述为“示例性”的任何方面不必被解释为优于或胜过其他方面。
详细描述中公开的各方面包括用于动态枚举总线的预定义静态枚举系统和过程。在示例性方面,动态枚举总线可以是SOUNDWIRETM总线。从设备被提供预定义设备号,这些预定义设备号被提供给主控方。主控方使用所提供的预定义设备号来填充地址表。通过提供预定义设备号,迭代枚举过程可被减少或消除,从而节省了时间和/或功率。
在叙述本公开的特定方面之前,参照图1-2B讨论了常规SOUNDWIRE系统和常规枚举过程的简要概览。以下从图3开始讨论本公开的示例性方面。
就此而言,图1是具有作为SOUNDWIRE兼容式电子设备通过相应总线接口(未解说)通信地耦合到SOUNDWIRE通信总线16的一(1)个主控方12以及四(4)个从设备14(1)-14(4)的示例性SOUNDWIRE系统10的框图。在示例性方面,从设备14(1)-14(4)可以是话筒、扬声器、或其他音频设备。主控方12使用以下二(2)种信号来与从设备14(1)-14(4)通信:在共用时钟线20上传达的时钟信号18,以及在SOUNDWIRE通信总线16的共用数据线24(“数据24”)上传达的数据信号22。主控方12生成CLOCK_OUT(时钟_输出)信号,并且主控方12和从设备14(1)-14(4)从时钟线20接收CLOCK_IN(时钟_输入)信号。同样,主控方12和从设备14(1)-14(4)中的每一者具有相应的DATA_IN(数据_输入)和DATA_OUT(数据_输出)信号。虽然图1中解说了仅四个从设备14(1)-14(4),但是应领会,SOUNDWIRE规范支持每主控方12至多达十一(11)个从设备14,并且由此此类从设备14有时被一般地称为从设备14或从设备14(1)-14(N),其中N可以是1与11之间的整数。应领会,主控方12可具有与其相关联的控制系统26,控制系统26可以是硬件实现的处理器,该处理器具有存储在与该处理器相关联的存储器中的相关联软件。在示例性方面,控制系统26是主控方12的片上系统(SoC)的一部分。在替换示例性方面,控制系统26可以与用于包括SOUNDWIRE系统10的计算设备的中央处理器相关联。在进一步的示例性方面,从设备14(1)-14(4)各自具有相应的从控制系统28(1)-28(4)。在进一步的示例性方面,监视器30可任选地存在并且附连到SOUNDWIRE通信总线16。值得注意的是,虽然这一方面解说了主控方12和从设备14(1)-14(4)内的各种元件,但是其他各方面可包括替换元件或配置并且达成类似的功能性。
继续参照图1,SOUNDWIRE系统10采用结合双倍数据率(“DDR”)的经修改的非归零反相(“NRZI”)编码方案,其中数据24在时钟信号18的每一个转变之际被检查并被潜在地驱动。作为非限定性示例,数据24可以由从设备14(1)-14(4)基于每一个相应从设备14(1)-14(4)的对应数据输出使能信号(“DATA_OE(数据_使能)”)来驱动。进一步信息可在SOUNDWIRE规范中找到。如以上所提及的,截止至撰写本文时,SOUNDWIRE的当前版本是修订版0.6-r02,其于2014年5月6日通过MIPI SharePoint文件服务器使得对于MIPI联盟会员而言是内部可获得的。如本文所使用的,“SOUNDWIRE”系统、总线、主控方、设备等等是指至少符合SOUNDWIRE规范的2014年5月6日版本的此类元件。
参照图2A,并且如在SOUNDWIRE规范中进一步阐述的,在上电事件或者在复位事件之后,从设备14(1)-14(3)(一般地,“从设备14”)初始地未附连到SOUNDWIRE通信总线16。如所解说的,存在三个从设备14(1)-14(3),但是如以上所提及的,可存在至多达十一(11)个此类从设备14。每个从设备14(1)-14(3)初始地同步到SOUNDWIRE通信总线16,并且一旦该同步成功,从设备14(1)-14(3)就向主控方12报告为零(0)的设备号32。也就是说,所有新附连的从设备14(1)-14(3)都报告为零(0)的设备号32。主控方12执行从这些从设备14(1)-14(3)的device_id(设备_标识)寄存器34(1)-34(3)读取设备标识号的操作序列。通常,每个从设备14具有六(6)个device_id寄存器34以向从设备14提供唯一性设备标识(例如,从设备14(1)具有六(6)个device_id寄存器34(1),尽管仅一个块被示出)。主控方12挑选在device_id寄存器34中具有最高值的从设备14,并且为该从设备14指派一(1)与十一(11)之间的第一地址(设备号)。主控方12随后从剩余的新从设备14接收为零的设备号32。主控方12从已报告零设备号32的从设备14的device_id寄存器34读取设备标识号。在device_id寄存器34中具有最高值的从设备14随后被指派一(1)与十一(11)之间的第二唯一性地址(设备号)。该过程重复直至没有从设备14报告为零(0)的设备号。
参照图2B,SOUNDWIRE系统10已完成上述过程,并且从设备14(1)已被指派为二(2)的设备号36(1),从设备14(2)已被指派为五(5)的设备号36(2),而从设备14(3)已被指派为一(1)的设备号36(3)。如所提及的,所有所指派的设备号36在一(1)与十一(11)之间且在SOUNDWIRE通信总线16上的各从设备14之间是唯一性的,并且可被存储在设备号寄存器(未示出)中。虽然在SOUNDWIRE规范中阐述的枚举过程防止了冲突并且允许每个从设备14在SOUNDWIRE通信总线16上正确地通信,但是随着枚举过程迭代遍历每个设备号36指派,存在许多重复消息是显而易见的。此类重复消息添加了系统初始化的等待时间并且消耗了功率。在电池供电的设备中,此类功耗是不期望的,因为它可能缩短设备的有效电池寿命。
本公开的示例性方面通过向从设备提供预定义设备号来减少枚举过程中的重复消息。预定义设备号与设备标识号一起被存储在device_id寄存器中。通过为从动方提供定义的设备号,至少该从动方可退出迭代枚举过程,如以下所解释的。使此类从动方退出迭代枚举过程降低了迭代数目,由此减少了等待时间并且节省了功率。
就此而言,图3解说了根据本公开的示例性方面的SOUNDWIRE系统40。SOUNDWIRE系统40包括主控方42以及三个从设备44(1)、44(3)和46(2),其分别通过总线接口43、45(1)、45(3)和47(2)连接到SOUNDWIRE通信总线48。主控方42可具有主控制系统(MCS),主控制系统可以是实现本公开的示例性方面的硬件和/或软件。从设备44(1)和44(3)可具有从控制系统(SCS)。从设备46(2)可具有从控制系统(SCS1),从控制系统(SCS1)可以是实现本公开的示例性方面的硬件和/或软件。虽然解说了仅三个从设备44(1)、44(3)和46(2),但是应领会,至多达十一(11)个从设备44、46可被连接到SOUNDWIRE通信总线48。此外,与图1的监视器30类似的监视器(未示出)可被附连到SOUNDWIRE通信总线48。每个从设备44(1)、44(3)和46(2)包括具有存储在其中的唯一性设备标识的相应device_id寄存器50(1)-50(3)。如以上所提及的,虽然针对每个device_id寄存器50(1)-50(3)示出了仅单个块,但在示例性方面,每个块表示六(6)个寄存器。如所解说的,从设备44(1)和44(3)是常规从设备并且初始地具有设为零(0)的设备号52(1)和52(3)。然而,从设备46(2)具有例如设为五(5)的预定义设备号54(2)。虽然仅一个从设备46(2)被示为具有预定义设备号54(2),但是应领会,其他从设备(诸如耦合到SOUNDWIRE通信总线48的从设备)也可具有预定义设备号。在示例性方面(未示出),耦合到SOUNDWIRE通信总线48的所有从设备都包括预定义设备号(例如,54)。
继续参照图3,预定义设备号54(2)可通过各种技术来定义。在第一示例性方面,从设备46(2)中的固件被设为特定设备号。在第二示例性方面,固件被提供两个设备号,并且与从设备46(2)相关联的物理引脚被设为低值或高值。如果引脚被设为高,则提供两个设备号中的第一设备号。如果引脚被设为低,则提供两个设备号中的第二设备号。在第三示例性方面,在从设备46(2)被附连到SOUNDWIRE通信总线48之前,可使用一些传输总线(未示出)来配置可编程存储器元件。应进一步领会,从设备46(2)可被配置成在被主控方42初始查询时提供预定义设备号54(2),或者可被配置成在附连到SOUNDWIRE通信总线48时提供为零的初始设备号并随后将预定义设备号54(2)提供给主控方42作为以下参照图4更详细地描述的枚举过程的一部分。如果从设备46(2)初始地提供为零的设备号,则从设备46(2)可具有从其初始地读取零设备号的附加寄存器。该附加寄存器可随后使用预定义设备号54(2)来盖写,或者保持预定义设备号54(2)的寄存器可被使用。
在本公开的替换示例性方面,可提供imp-def寄存器。该imp-def寄存器是在支持预枚举值的设备中实现的只写寄存器。如果对该imp-def寄存器的写命令正在进行,则imp-def寄存器将激活内部命令,该内部命令将立即地将设备号更新为预定义设备号54(2)。如果没有对imp-def寄存器执行写命令,则设备的行为可遵循标准中展示的传统过程(即,完整且较长的枚举过程)。
提供预定义设备号(例如,54(2))允许SOUNDWIRE规范的枚举过程被修改以利用预定义设备号。就此而言,图4解说了用于使用具有预定义设备号的从设备(例如,从设备46(2))的过程60。过程60开始于SOUNDWIRE系统40的发起(框62)。主控方42读取耦合到SOUNDWIRE通信总线48的从设备44(1)、44(3)和46(2)的状态(框64)。该状态指示从设备44(1)、44(3)和/或46(2)是否新附连到SOUNDWIRE通信总线48。主控方42确定从设备44(1)、44(3)和/或46(2)中的任一者是否是新的(框66)。如果从设备44(1)、44(3)和/或46(2)中没有一个是新的,则SOUNDWIRE系统40正常地操作,跨SOUNDWIRE通信总线48传递音频数据,如在SOUNDWIRE规范中所阐述的。然而,如果从设备44(1)、44(3)和/或46(2)中的一者或多者是新的,则主控方42确定从设备44(1)、44(3)和/或46(2)中是否有任何一个从设备具有为零(0)的设备号52(框68)。
继续参照图4,如以上所提及的,从设备46(2)可以不提供为零的初始设备号(即,框68被否定地回答)。在此类实例中,从设备46(2)已将预定义设备号54(2)提供给主控方42,并且主控方42将预定义设备号54(2)添加到存储在主控方42中的工作列表(框70)。主控方42随后从device_id寄存器50(2)读取设备标识并且将该设备标识添加到表80(框74)(见图6)。
然而,如果从设备46(2)初始地报告为零的设备号(即,框68被肯定地回答),则主控方42向所有从设备44(1)、44(3)和46(2)广播写入imp-def寄存器的命令。该imp-def寄存器激活使用预定义设备号(若可获得)来更新设备号的内部命令(框74)。如果能够这么做,则从设备44(1)、44(3)、46(2)将预定义值写入设备号寄存器。主控方42随后读取从动状态,并且由此知晓来自从设备44(1)、44(3)和46(2)的设备号52或54(框76)。如果设备号52或54不为零(即,设备号54由预定义设备号54(2)填充),则过程60开始正常SOUNDWIRE操作并且环回至框64。然而,如果在框74中发出的命令之后设备号52或54仍为零,则执行常规SOUNDWIRE枚举过程(框78),其中自从设备44(1)、44(3)读取设备标识,以及设置新设备号并将该新设备号写入从设备44(1)、44(3)。在枚举之后,发生常规SOUNDWIRE操作。
继续参照图4,具有预定义设备号(例如,54(2))的从设备46(2)可通过正响应于框74中的广播命令而与旧式系统互操作。也就是说,耦合到不识别预定义设备号的SOUNDWIRE系统40的从设备46(2)将接收广播命令,但是将忽略广播命令,并且将根据常规SOUNDWIRE规范枚举过程来枚举。
在过程60被执行之后,从设备44(1)、44(3)和46(2)都被枚举并且经枚举的SOUNDWIRE系统40’在图5中解说。从设备46(2)仍具有预定义设备号54(2)。然而,从设备44(1)和44(3)现在已分别使用设备号52(1)’和52(3)’来枚举以形成从设备44(1)’和44(3)’。一旦经枚举,SOUNDWIRE系统40’就可处理常规SOUNDWIRE信令。
主控方42可具有图6中所解说的表80,表80阐述了设备号字段(Dev-number)82中的设备号、设备ID(标识)字段84中的设备标识、从动状态字段86中的从动状态、以及预枚举字段(Pre-enum)88中的预枚举号。如果从设备44(1)、44(3)或46(2)具有预定义设备号,则该预定义设备号(例如,54(2))被复制到对应预枚举字段88中。同样,新枚举的设备被添加到表80的对应于新指派的设备号的行上。
注意到,如果SOUNDWIRE系统40被置于休眠或待机模式中,则SOUNDWIRE规范允许从设备44(1)、44(3)、46(2)保持被枚举。本公开的各方面不改变这一点。然而,如果从动方与SOUNDWIRE通信总线48分离,则从设备44(1)、44(3)、46(2)可使用预定义设备号来枚举,如以上所解释的。
虽然以上讨论集中在SOUNDWIRE系统,但是本公开的各方面并不被如此限定。其他动态枚举方案可从静态、预定义设备号以及用于检测和使用本公开的静态、预定义设备号的过程获益。
根据本文所公开的各方面的用于动态枚举总线的预定义静态枚举系统和过程可被提供在或被集成进任何基于处理器的设备中。不作为限定的示例包括机顶盒、娱乐单元、导航设备、通信设备、固定位置数据单元、移动位置数据单元、移动电话、蜂窝电话、计算机、便携式计算机、台式计算机、个人数字助理(PDA)、监视器、计算机监视器、电视机、调谐器、无线电、卫星无线电、音乐播放器、数字音乐播放器、便携式音乐播放器、数字视频播放器、视频播放器、数字视频碟(DVD)播放器、以及便携式数字视频播放器。
就此而言,图7解说了可采用图3-5中所解说的SOUNDWIRE系统40的基于处理器的系统100的示例。在此示例中,基于处理器的系统100包括一个或多个中央处理单元(CPU)102,其各自包括一个或多个处理器104。在本公开的示例性方面,CPU 102可以是主控方42。(诸)CPU 102可具有耦合到(诸)处理器104以用于对临时存储的数据快速访问的高速缓存存储器106。(诸)CPU 102被耦合到系统总线108,且可交互耦合被包括在基于处理器的系统100中的主设备和从设备。系统总线108可以是SOUNDWIRE通信总线48,如图3中所解说的。如众所周知的,(诸)CPU 102通过在系统总线108上交换地址、控制、以及数据信息来与这些其他设备通信。例如,(诸)CPU 102可向作为从设备的示例的存储器控制器110传达总线事务请求。尽管在图7中未解说,但是可以提供多个系统总线108。
其他主设备和从设备可被连接到系统总线108。如图7中解说的,作为示例,这些设备可包括存储器系统112、一个或多个输入设备114、一个或多个输出设备116、一个或多个网络接口设备118、以及一个或多个显示器控制器120。(诸)输入设备114可包括任何类型的输入设备,包括但不限于输入键、开关、语音处理器等。(诸)输出设备116可包括任何类型的输出设备,包括但不限于音频、视频、其他视觉指示器等。在示例性方面,多个输入设备114与输出设备116之间可存在SOUNDWIRE通信总线48。(诸)网络接口设备118可以是被配置成允许去往和来自网络122的数据交换的任何设备。网络122可以是任何类型的网络,包括但不限于:有线或无线网络、私有或公共网络、局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、蓝牙TM、以及因特网。(诸)网络接口设备118可被配置成支持所期望的任何类型的通信协议。存储器系统112可包括一个或多个存储器单元124。
(诸)CPU 102还可被配置成在系统总线108上访问(诸)显示器控制器120以控制发送至一个或多个显示器126的信息。(诸)显示器控制器120经由一个或多个视频处理器128向(诸)显示器126发送要显示的信息,视频处理器128将要显示的信息处理成适于(诸)显示器126的格式。(诸)显示器126可包括任何类型的显示器,包括但不限于:阴极射线管(CRT)、液晶显示器(LCD)、发光二极管(LED)显示器、等离子显示器等。
本领域技术人员将进一步领会,结合本文所公开的诸方面描述的各种解说性逻辑块、模块、电路和算法可被实现为电子硬件、存储在存储器中或另一计算机可读介质中并由处理器或其它处理设备执行的指令、或这两者的组合。作为示例,本文描述的主设备和从设备可用在任何电路、硬件组件、集成电路(IC)、或IC芯片中。本文所公开的存储器可以是任何类型和大小的存储器,且可配置成存储所需的任何类型的信息。为清楚地解说这种可互换性,以上已经以其功能性的形式一般地描述了各种解说性组件、框、模块、电路和步骤。此类功能性如何被实现取决于具体应用、设计选择、和/或加诸于整体系统上的设计约束。技术人员可针对每种特定应用以不同方式来实现所描述的功能性,但此类实现决策不应被解读为致使脱离本公开的范围。
结合本文中公开的诸方面描述的各种解说性逻辑块、模块、以及电路可用设计成执行本文中描述的功能的处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其任何组合来实现或执行。处理器可以是微处理器,但在替换方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可以被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协同的一个或多个微处理器、或任何其它此类配置。
本文所公开的各方面可被体现为硬件和存储在硬件中的指令,并且可驻留在例如随机存取存储器(RAM)、闪存、只读存储器(ROM)、电可编程ROM(EPROM)、电可擦可编程ROM(EEPROM)、寄存器、硬盘、可移动盘、CD-ROM、或本领域中所知的任何其它形式的计算机可读介质中。示例性存储介质被耦合到处理器,以使得处理器能从/向该存储介质读取/写入信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在ASIC中。ASIC可驻留在远程站中。在替换方案中,处理器和存储介质可作为分立组件驻留在远程站、基站或服务器中。
还注意到,本文任何示例性方面中描述的操作步骤是为了提供示例和讨论而被描述的。所描述的操作可按除了所解说的顺序之外的众多不同顺序来执行。此外,在单个操作步骤中描述的操作实际上可在多个不同步骤中执行。另外,示例性方面中讨论的一个或多个操作步骤可被组合。将理解,如对本领域技术人员显而易见地,在流程图中解说的操作步骤可进行众多不同的修改。本领域技术人员还将理解,可使用各种不同技术中的任何一种来表示信息和信号。例如,贯穿上面说明始终可能被述及的数据、指令、命令、信息、信号、比特、码元、和码片可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子、或其任何组合来表示。
提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员而言将容易是显而易见的,并且本文中所定义的普适原理可被应用到其他变型而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖特征一致的最广义的范围。

Claims (30)

1.一种控制SOUNDWIRE总线上主控方与从设备之间的通信的方法,包括:
在所述SOUNDWIRE总线上从所述主控方广播将对应设备号设为存储在所述从设备中的预定义设备号的命令;以及
在所述主控方处使用所述预定义设备号来枚举所述从设备。
2.如权利要求1所述的方法,其特征在于,进一步包括初始地将所述从设备耦合到所述SOUNDWIRE总线。
3.如权利要求2所述的方法,其特征在于,进一步包括确定所述从设备新附连到所述SOUNDWIRE总线。
4.如权利要求1所述的方法,其特征在于,进一步包括在广播所述命令之前检测所述从设备具有为零的设备号。
5.如权利要求1所述的方法,其特征在于,进一步包括向第二从设备广播所述命令。
6.如权利要求5所述的方法,其特征在于,进一步包括在广播所述命令之后确定所述第二从设备仍具有为零的对应初始设备号。
7.如权利要求6所述的方法,其特征在于,进一步包括从所述第二从设备读取设备标识号以及为所述第二从设备设置新设备号。
8.如权利要求6所述的方法,其特征在于,进一步包括将与所述SOUNDWIRE总线相关联的系统置于休眠或待机模式中。
9.如权利要求1所述的方法,其特征在于,进一步包括设置存储在所述从设备中的所述预定义设备号。
10.如权利要求9所述的方法,其特征在于,设置所述预定义设备号包括使用所述从设备上的引脚。
11.如权利要求9所述的方法,其特征在于,设置所述预定义设备号包括使用固件来设置所述预定义设备号。
12.如权利要求9所述的方法,其特征在于,设置所述预定义设备号包括使用第二总线来对所述从设备的设备号寄存器进行编程。
13.一种枚举SOUNDWIRE系统的方法,包括:
将从设备耦合到SOUNDWIRE通信总线;以及
通过所述SOUNDWIRE通信总线来将预定义设备号提供给主控方。
14.如权利要求13所述的方法,其特征在于,进一步包括预定义所述预定义设备号。
15.如权利要求14所述的方法,其特征在于,预定义包括在固件中设置所述预定义设备号。
16.如权利要求14所述的方法,其特征在于,预定义包括使用引脚在两个预定义值之间进行选择。
17.如权利要求14所述的方法,其特征在于,预定义包括在将所述从设备耦合到所述SOUNDWIRE通信总线之前使用传输总线设置一值。
18.如权利要求13所述的方法,其特征在于,进一步包括从所述主控方接收请求所述预定义设备号的广播命令。
19.如权利要求13所述的方法,其特征在于,进一步包括在所述SOUNDWIRE系统的发起之后将所述预定义设备号提供给所述主控方。
20.如权利要求19所述的方法,其特征在于,进一步包括响应于来自所述主控方的查询而提供所述预定义设备号。
21.一种枚举SOUNDWIRE系统的方法,包括:
检测被耦合到SOUNDWIRE通信总线的从设备;以及
通过所述SOUNDWIRE通信总线从所述从设备接收预定义设备号。
22.如权利要求21所述的方法,其特征在于,进一步包括发起所述SOUNDWIRE系统。
23.如权利要求21所述的方法,其特征在于,进一步包括从所述从设备读取从动状态。
24.如权利要求21所述的方法,其特征在于,进一步包括从所述从设备读取设备号。
25.如权利要求24所述的方法,其特征在于,读取所述设备号包括从所述从设备接收所述预定义设备号。
26.如权利要求21所述的方法,其特征在于,进一步包括向所述从设备广播提供所述预定义设备号的命令。
27.如权利要求21所述的方法,其特征在于,进一步包括使用迭代过程来枚举其他从设备。
28.一种SOUNDWIRE主控方,包括:
总线接口,其被配置成被耦合到SOUNDWIRE通信总线;以及
控制系统,其被操作地耦合到所述总线接口并被配置成:
检测被耦合到所述SOUNDWIRE通信总线的从设备;以及
通过所述SOUNDWIRE通信总线从所述从设备接收预定义设备号。
29.一种SOUNDWIRE从设备,包括:
总线接口,其被配置成被耦合到SOUNDWIRE通信总线;以及
控制系统,其被操作地耦合到所述总线接口并被配置成:
将所述总线接口耦合到所述SOUNDWIRE通信总线;以及
通过所述SOUNDWIRE通信总线来将预定义设备号提供给主控方。
30.一种SOUNDWIRE系统,包括:
SOUNDWIRE通信总线;
从设备,其包括:
耦合到所述SOUNDWIRE通信总线的从动总线接口;
设备标识号;以及
与所述设备标识号相异的预定义设备号;以及
主控方,其包括:
耦合到所述SOUNDWIRE通信总线的主控总线接口;
控制系统,其被操作地耦合到所述主控总线接口,所述控制系统被配置成:
检测耦合到所述SOUNDWIRE通信总线的所述从设备;以及
从所述从设备接收所述预定义设备号。
CN201580059700.0A 2014-11-05 2015-10-09 用于动态枚举总线的预定义静态枚举 Active CN107077443B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/533,240 US9785605B2 (en) 2014-11-05 2014-11-05 Predefined static enumeration for dynamic enumeration buses
US14/533,240 2014-11-05
PCT/US2015/054857 WO2016073136A1 (en) 2014-11-05 2015-10-09 Predefined static enumeration for dynamic enumeration buses

Publications (2)

Publication Number Publication Date
CN107077443A true CN107077443A (zh) 2017-08-18
CN107077443B CN107077443B (zh) 2023-03-21

Family

ID=54364698

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580059700.0A Active CN107077443B (zh) 2014-11-05 2015-10-09 用于动态枚举总线的预定义静态枚举

Country Status (6)

Country Link
US (1) US9785605B2 (zh)
EP (1) EP3216172B1 (zh)
JP (1) JP6845132B2 (zh)
CN (1) CN107077443B (zh)
TW (1) TW201633166A (zh)
WO (1) WO2016073136A1 (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10540226B2 (en) 2013-12-18 2020-01-21 Qorvo Us, Inc. Write technique for a bus interface system
US10185683B2 (en) 2013-12-18 2019-01-22 Qorvo Us, Inc. Bus interface system
US10579580B2 (en) 2013-12-18 2020-03-03 Qorvo Us, Inc. Start of sequence detection for one wire bus
US10528502B2 (en) 2013-12-18 2020-01-07 Qorvo Us, Inc. Power management system for a bus interface system
US10282269B2 (en) 2013-12-18 2019-05-07 Qorvo Us, Inc. Read technique for a bus interface system
US10698847B2 (en) 2016-03-01 2020-06-30 Qorvo Us, Inc. One wire bus to RFFE translation system
US10579128B2 (en) 2016-03-01 2020-03-03 Qorvo Us, Inc. Switching power supply for subus slaves
US10437772B2 (en) 2016-03-24 2019-10-08 Qorvo Us, Inc. Addressing of slave devices on a single wire communications bus through register map address selection
US10176130B2 (en) * 2016-03-30 2019-01-08 Qorvo Us, Inc. Slave device identification on a single wire communications bus
US10073137B2 (en) 2016-08-02 2018-09-11 Qualcomm Incorporated Soundwire-based embedded debugging in an electronic device
US10558607B2 (en) 2017-02-01 2020-02-11 Qorvo Us, Inc. Bus interface system for power extraction
US10482056B2 (en) 2017-11-21 2019-11-19 Qualcomm Incorporated Transfer of master duties to a slave on a communication bus
US11009864B2 (en) * 2018-04-06 2021-05-18 Bently Nevada, Llc Gated asynchronous multipoint network interface monitoring system
US10528517B1 (en) * 2018-08-09 2020-01-07 Qualcomm Incorporated Systems and methods for power conservation in a SOUNDWIRE audio bus through pattern recognition
US10359827B1 (en) 2018-08-15 2019-07-23 Qualcomm Incorporated Systems and methods for power conservation in an audio bus
US10599601B1 (en) 2019-01-16 2020-03-24 Qorvo Us, Inc. Single-wire bus (SuBUS) slave circuit and related apparatus
US11119958B2 (en) 2019-04-18 2021-09-14 Qorvo Us, Inc. Hybrid bus apparatus
US11226924B2 (en) 2019-04-24 2022-01-18 Qorvo Us, Inc. Single-wire bus apparatus supporting slave-initiated operation in a master circuit
US10983942B1 (en) 2019-12-11 2021-04-20 Qorvo Us, Inc. Multi-master hybrid bus apparatus
US11409677B2 (en) 2020-11-11 2022-08-09 Qorvo Us, Inc. Bus slave circuit and related single-wire bus apparatus
US11489695B2 (en) 2020-11-24 2022-11-01 Qorvo Us, Inc. Full-duplex communications over a single-wire bus
US11706048B1 (en) 2021-12-16 2023-07-18 Qorvo Us, Inc. Multi-protocol bus circuit

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4570217A (en) * 1982-03-29 1986-02-11 Allen Bruce S Man machine interface
CN1337630A (zh) * 2000-06-21 2002-02-27 国际商业机器公司 具有重叠读写操作和可伸缩地址流水线化的数据传送系统
CN101208679A (zh) * 2005-04-29 2008-06-25 皇家飞利浦电子股份有限公司 集成电路间从设备的设备标识编码
CN103917938A (zh) * 2011-11-09 2014-07-09 丰田自动车株式会社 电子控制装置及微型计算机的控制方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2959403B2 (ja) 1994-07-25 1999-10-06 松下電工株式会社 ネットワーク機器の自動id割り付け方法及び装置
US7292876B2 (en) 2002-10-08 2007-11-06 Sonion Nederland B.V. Digital system bus for use in low power instruments such as hearing aids and listening devices
US20100191995A1 (en) 2009-01-26 2010-07-29 Koby Levy In-Band Sleep Protocol for Embedded Bus
US8225021B2 (en) 2009-05-28 2012-07-17 Lexmark International, Inc. Dynamic address change for slave devices on a shared bus
US8775707B2 (en) 2010-12-02 2014-07-08 Blackberry Limited Single wire bus system
US20130058495A1 (en) 2011-09-01 2013-03-07 Claus Erdmann Furst System and A Method For Streaming PDM Data From Or To At Least One Audio Component
US9479275B2 (en) 2012-06-01 2016-10-25 Blackberry Limited Multiformat digital audio interface
CN104981790B (zh) * 2013-02-22 2017-12-01 马维尔国际贸易有限公司 多槽多点音频接口

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4570217A (en) * 1982-03-29 1986-02-11 Allen Bruce S Man machine interface
CN1337630A (zh) * 2000-06-21 2002-02-27 国际商业机器公司 具有重叠读写操作和可伸缩地址流水线化的数据传送系统
CN101208679A (zh) * 2005-04-29 2008-06-25 皇家飞利浦电子股份有限公司 集成电路间从设备的设备标识编码
CN103917938A (zh) * 2011-11-09 2014-07-09 丰田自动车株式会社 电子控制装置及微型计算机的控制方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MIPI ALLIANCE: "MIPI Alliance Specification for RF Front-End Control Interface", 《MIPI ALLIANCE》 *

Also Published As

Publication number Publication date
TW201633166A (zh) 2016-09-16
US20160124892A1 (en) 2016-05-05
WO2016073136A1 (en) 2016-05-12
EP3216172A1 (en) 2017-09-13
CN107077443B (zh) 2023-03-21
EP3216172B1 (en) 2023-02-22
US9785605B2 (en) 2017-10-10
JP6845132B2 (ja) 2021-03-17
JP2017536616A (ja) 2017-12-07

Similar Documents

Publication Publication Date Title
CN107077443A (zh) 用于动态枚举总线的预定义静态枚举
US10331579B2 (en) Universal serial bus (USB) system supporting display alternate mode functionality on a USB type-C adapter
CN105556497B (zh) 查明闪存中的命令完成
US10135274B2 (en) Charging circuit and electronic device having the same
JP6181329B1 (ja) リムーバブルメモリカードタイプ検出システムおよび方法
CN106663078B (zh) 延迟电路以及相关的系统和方法
US8626973B2 (en) Pseudo multi-master I2C operation in a blade server chassis
KR101910439B1 (ko) 고 전압 허용 워드-라인 구동기
CN103944869A (zh) 云端唤醒
US10135816B2 (en) Electronic device and method of transceiving data
CN102834726A (zh) 用于基于测得的性能特性来调整时钟信号的电路、系统和方法
US20170077744A1 (en) Electronic device and method of wireless power transfer therefor
US9729815B2 (en) Method and electronic device for controlling content integrity using numerical data
TW201514988A (zh) 在靜態隨機存取記憶體重置操作期間用於電壓或電流偏壓靜態隨機存取記憶體位元格之電路及相關系統及方法
TW201933129A (zh) 通用串列匯流排裝置及其操作方法
CN107771327A (zh) 扩展的消息信令中断(msi)消息数据
WO2013075501A1 (zh) 节点热插拔的方法及装置
US20190004816A1 (en) Systems and methods for heterogeneous system on a chip servers
EP3191971B1 (en) Bridging strongly ordered write transactions to devices in weakly ordered domains, and related apparatuses, methods, and computer-readable media
CN105634635B (zh) 一种共享rtc的方法、装置和系统
EP3338162A1 (en) Apparatus and method for saving and restoring data for power saving in a processor
US9645959B2 (en) Fast link training in embedded systems
US9760515B2 (en) Shared control of a phase locked loop (PLL) for a multi-port physical layer (PHY)
CN108369570A (zh) 音频总线中断
US20180196681A1 (en) Selective processor wake-up in an electronic device

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
GR01 Patent grant
GR01 Patent grant