CN116711328A - 麦克风阵列校准的系统与技术 - Google Patents
麦克风阵列校准的系统与技术 Download PDFInfo
- Publication number
- CN116711328A CN116711328A CN202180090309.2A CN202180090309A CN116711328A CN 116711328 A CN116711328 A CN 116711328A CN 202180090309 A CN202180090309 A CN 202180090309A CN 116711328 A CN116711328 A CN 116711328A
- Authority
- CN
- China
- Prior art keywords
- microphone
- data
- node
- calibration
- child node
- 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
- 238000000034 method Methods 0.000 title claims abstract description 100
- 230000015654 memory Effects 0.000 claims description 72
- 230000005540 biological transmission Effects 0.000 claims description 52
- 238000012360 testing method Methods 0.000 claims description 42
- 238000005070 sampling Methods 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 13
- 238000004891 communication Methods 0.000 abstract description 89
- 230000006854 communication Effects 0.000 abstract description 89
- 238000004519 manufacturing process Methods 0.000 abstract description 11
- 238000003491 array Methods 0.000 abstract description 7
- 238000011144 upstream manufacturing Methods 0.000 description 89
- 230000004044 response Effects 0.000 description 67
- 230000002093 peripheral effect Effects 0.000 description 55
- 238000012545 processing Methods 0.000 description 33
- 230000006870 function Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 18
- 101100368149 Mus musculus Sync gene Proteins 0.000 description 17
- 238000012546 transfer Methods 0.000 description 16
- 238000003860 storage Methods 0.000 description 12
- 230000005236 sound signal Effects 0.000 description 10
- 230000008878 coupling Effects 0.000 description 8
- 238000010168 coupling process Methods 0.000 description 8
- 238000005859 coupling reaction Methods 0.000 description 8
- 206010009944 Colon cancer Diseases 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 238000005259 measurement Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 230000011664 signaling Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 229920002430 Fibre-reinforced plastic Polymers 0.000 description 3
- 230000004075 alteration Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 239000002131 composite material Substances 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 239000011151 fibre-reinforced plastic Substances 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 101100490566 Arabidopsis thaliana ADR2 gene Proteins 0.000 description 2
- 101100269260 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) ADH2 gene Proteins 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 230000007175 bidirectional communication Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 108091064702 1 family Proteins 0.000 description 1
- 241000699666 Mus <mouse, genus> Species 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009118 appropriate response Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 238000004146 energy storage Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 229910000859 α-Fe Inorganic materials 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R1/00—Details of transducers, loudspeakers or microphones
- H04R1/20—Arrangements for obtaining desired frequency or directional characteristics
- H04R1/32—Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only
- H04R1/40—Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only by combining a number of identical transducers
- H04R1/406—Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only by combining a number of identical transducers microphones
-
- 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/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4247—Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain 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/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/403—Bus networks with centralised control, e.g. polling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R1/00—Details of transducers, loudspeakers or microphones
- H04R1/005—Details of transducers, loudspeakers or microphones using digitally weighted transducing elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R1/00—Details of transducers, loudspeakers or microphones
- H04R1/20—Arrangements for obtaining desired frequency or directional characteristics
- H04R1/32—Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only
- H04R1/326—Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only for microphones
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R29/00—Monitoring arrangements; Testing arrangements
- H04R29/004—Monitoring arrangements; Testing arrangements for microphones
- H04R29/005—Microphone arrays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R3/00—Circuits for transducers, loudspeakers or microphones
- H04R3/005—Circuits for transducers, loudspeakers or microphones for combining the signals of two or more microphones
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04S—STEREOPHONIC SYSTEMS
- H04S7/00—Indicating arrangements; Control arrangements, e.g. balance control
- H04S7/30—Control circuits for electronic adaptation of the sound field
- H04S7/301—Automatic calibration of stereophonic sound system, e.g. with test microphone
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R2201/00—Details of transducers, loudspeakers or microphones covered by H04R1/00 but not provided for in any of its subgroups
- H04R2201/40—Details of arrangements for obtaining desired directional characteristic by combining a number of identical transducers covered by H04R1/40 but not provided for in any of its subgroups
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R2499/00—Aspects covered by H04R or H04S not otherwise provided for in their subgroups
- H04R2499/10—General applications
- H04R2499/13—Acoustic transducers and sound field adaptation in vehicles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
Abstract
本文公开了用于麦克风阵列校准的系统和技术,以及其中可以使用校准的麦克风的通信系统。本文公开的系统和技术可以为麦克风阵列提供相位和幅度校准,从而提高波束成形和其他应用的性能。此外,本文公开了用于在麦克风阵列中本地存储校准系数的各种系统和方法(例如,在制造和校准时)。此外,本文公开的各种系统和方法可以包括麦克风阵列的校准的中央应用(例如,在操作时在边缘处理器中),以用信号链中更下游的校准麦克风信号来代替未校准的麦克风信号。
Description
相关申请的交叉引用
本申请要求题为“麦克风阵列校准的系统和技术”的美国临时申请序列号63/112967的权益和优先权,该申请通过引用整体并入本文。
技术领域
本公开涉及菊花链网络中的系统和装置。
背景技术
随着电子元件尺寸的减小和性能预期的提高,更多的元件被包括在以前未被仪器化或仪器化程度较低的设备中。在某些设置中,用于在这些部件之间交换信号的通信基础设施(例如,在车辆中)需要粗而重的电缆束。
本公开旨在提供本专利申请的主题的概述。其并非旨在提供对本发明的排他性或详尽的解释。通过将这些系统与本申请的剩余部分中参考附图所阐述的本发明的一些方面进行比较,常规和传统方法的进一步限制和缺点对于本领域技术人员来说将变得显而易见。
发明内容
本文公开了用于麦克风阵列校准的系统和技术,以及其中可以使用校准的麦克风的通信系统。当麦克风阵列用于波束成形(例如,用于噪声消除)时,阵列中不同麦克风之间的生产容差可能导致某些波束成形算法的性能下降。通常,一旦分配和/或安装了麦克风,就不可能进行进一步的校准。公开了用于在麦克风上保存校准系数以供在麦克风使用时应用的系统和方法。
根据一个方面,一种用于麦克风阵列校准的系统包括:扬声器,被配置为播放测试信号;麦克风阵列,被配置为接收所述测试信号并生成多个麦克风阵列信号;参考麦克风,定位在所述扬声器和所述麦克风阵列之间,其中所述参考麦克风被配置为接收所述测试信号并生成参考信号;和校准计算器,被配置为处理所述多个麦克风阵列信号和所述参考信号,生成滤波器系数集合,并将所述滤波器系数集合发送到所述麦克风阵列。
根据一些实施方式,该系统还包括:与所述麦克风阵列相关联的存储器,所述存储器被配置以存储所述滤波器系数集合。在一些实施方式中,所述存储器被定位在具有所述麦克风阵列的麦克风阵列模块上。在一些实施方式中,所述存储器是由所述麦克风阵列可访问的基于云的存储器。在一些实施方式中,所述存储器还被配置为存储麦克风信息,所述麦克风信息包括供应商信息、产品信息、版本信息、型号信息、能力信息、序列号、制造商信息、配置信息、路由信息和认证信息中的至少一个。
根据一些实施方式,该系统还包括:多个存储器模块,其中所述多个存储器模件中的每一个与所述麦克风阵列的相应麦克风相关联。在一些实施方式中,滤波器系数包括相位校准、频率校准和幅度校准。在一些实施方式中,该系统还包括双线接口,其中所述滤波器系数到所述麦克风阵列的传输发生在所述双线接口上。在一些实施方式中,所述多个麦克风阵列信号中的每一个是唯一的,并且所述麦克风阵列的每一相应麦克风与所述滤波器系数集合的相应子集相关联。
根据另一方面,一种用于麦克风阵列校准的方法,包括:在扬声器处播放测试信号;在麦克风阵列处对所述测试信号进行采样;在所述麦克风阵列处产生多个麦克风阵列信号;在参考麦克风处对所述测试信号进行采样;在所述参考麦克风处产生参考信号;基于所述多个麦克风阵列信号和所述参考信号生成滤波器系数集合;和将所述滤波器系数集合传输到所述麦克风阵列。
根据一些实施方式,在所述麦克风阵列处对所述测试信号进行采样包括在所述麦克风阵列的每个相应麦克风处对所述测试信号进行取样。在一些实施方式中,生成滤波器系数集合包括为每个相应麦克风生成滤波器系数的相应子集。根据一些实施方式,该方法还包括在每个相应麦克风上存储滤波器系数的相应子集。根据一些实施方式,该方法还包括将所述滤波器系数集合存储在所述麦克风阵列上。在一些实施方式中,传输所述滤波器系数集合包括通过双线总线传输所述滤波系数集合。根据一些实施方式,该方法还包括使用所述参考麦克风预校准所述扬声器。
根据另一个方面,一种自校准麦克风系统包括:麦克风模块,包括:麦克风,被配置为接收音频输入信号并输出原始麦克风输出信号,其中所述麦克风被预校准,和非易失性存储器,被配置为存储用于所述麦克风的麦克风校准系数;处理器,被配置为接收所述原始麦克风信号和所述麦克风校准系数,并生成校准的麦克风信号;和麦克风信号汇点,被配置为从所述处理器接收所述经校准的麦克风信号并输出所述经校正的麦克风信号。
根据一些实施方式,滤波器系数被配置为提供相位校准、频率校准和幅度校准中的至少一个。在一些实施方式中,该系统还包括双线总线,其中所述处理器和所述麦克风信号汇点通过所述双线总线进行通信。在一些实施方式中,所述处理器进一步被配置以执行所述原始麦克风信号与所述麦克风校准系数的卷积以产生所述经校准的麦克风信号。
附图说明
通过以下结合附图的详细描述可以最好地理解本公开。需要强调的是,根据行业的标准实践,各种特征不一定按比例绘制,仅用于说明目的。在显式或隐式显示比例的情况下,它只提供了一个说明性示例。在其他实施例中,为了讨论的清楚性,可以任意增加或减少各种特征的尺寸。为了便于描述,相同的附图标记表示相同的结构元件。在附图的附图中以示例的方式而不是以限制的方式示出了实施例。
为了更全面地理解本发明的性质和优点,参考以下优选实施例的详细描述并结合附图,其中:
图1是根据各种实施例的说明性双线通信系统的框图;
图2是根据各种实施例的可以包括在图1的系统的节点中的节点收发器的框图;
图3是根据各种实施例的用于图1的系统中的通信的同步控制帧的一部分的图;
图4是根据各种实施例的用于图1的系统中的通信的超帧的图;
图5示出了根据各种实施例的图1的系统的不同操作模式下的同步控制帧的示例格式;
图6示出了根据各种实施例的在图1的系统的不同操作模式下的同步响应帧的示例格式;
图7是根据各种实施例的图2的总线协议电路的各种组件的框图;
图8-11示出了根据本文所述的总线协议的各种实施例的沿着双线总线的信息交换的示例;
图12示出了根据各种实施例的双线总线的环形拓扑结构及其上的单向通信方案;
图13是根据各种实施例的可以用作图1的系统中的节点或主机的设备的框图;
图14是根据各种实施例的麦克风阵列校准系统的框图;
图15-17是根据各种实施例的用于麦克风阵列校准的方法的流程图;
图18是根据各种实施例的其中可以应用本文公开的校准的麦克风系统的框图;
图19是根据各种实施例的应用麦克风阵列校准的方法的流程图;
图20是根据各种实施例的双线通信系统的框图,其中可以应用本文公开的麦克风阵列校准;
图21-22是根据各种实施例的分别校准麦克风和应用麦克风阵列校准的方法的流程图。
具体实施方式
本文公开了用于麦克风阵列校准的系统和技术,以及其中可以使用校准的麦克风的通信系统。当麦克风阵列用于波束成形(例如,作为道路噪声消除、其他噪声消除或选择性广播应用的一部分)时,阵列中不同麦克风之间的生产容差可能导致某些波束成形算法的性能下降。一些传统的校准程序试图通过生成麦克风的滤波器系数来解决这种退化,以便均衡麦克风的频率响应的幅度的差异。然而,传统的校准程序忽略了考虑阵列中麦克风之间的相位公差的影响。
本文公开的系统和技术可以为麦克风阵列提供相位和幅度校准,从而提高波束成形和其他应用的性能。此外,本文公开了用于在麦克风阵列中本地存储校准系数的各种系统和方法(例如,在制造和校准时)。此外,本文公开的各种系统和方法可以包括麦克风阵列的校准的中央应用(例如,在操作时在边缘处理器中),以用信号链中更下游的校准麦克风信号来代替未校准的麦克风信号。本文公开的任何麦克风阵列校准系统和方法都可以由本文公开的通信系统(例如,系统100)来实现。
在下面的详细描述中,参考形成本文的一部分的附图,其中相同的数字自始至终表示相同的部分,并且在附图中通过可以实践的示例性实施例的方式示出。应当理解,在不脱离本公开的范围的情况下,可以利用其他实施例,并且可以进行结构或逻辑改变。因此,以下详细描述不应被视为具有限制意义。
各种操作可以以最有助于理解所要求保护的主题的方式依次被描述为多个离散动作或操作。然而,描述的顺序不应被解释为暗示这些操作必然依赖于顺序。特别地,这些操作可以不按照呈现的顺序来执行。所描述的操作可以按照与所描述的实施例不同的顺序来执行。在附加实施例中,可以执行各种附加操作和/或可以省略所描述的操作。
就本公开而言,短语“A和/或B”是指(A)、(B)或(A和B)。就本公开而言,短语“A、B和/或C”是指(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A、B、C)。
本文中可以单数形式提及或说明各种组件(例如,“处理器”、“外围设备”等),但这仅仅是为了便于讨论,并且根据本文的教导,单数形式提及的任何元件都可以包括多个这样的元件。
本说明书使用短语“在实施例中”或“在实施方案中”,其各自可以指代相同或不同实施方案中的一个或多个。此外,如关于本公开的实施例所使用的术语“包括”、“包含”、“具有”等是同义的。如本文所用,术语“电路”可以属于或包括专用集成电路(ASIC)、电子电路、光电路、处理器(共享、专用或组)和/或执行一个或多个软件或固件程序、组合逻辑电路和/或提供所述功能的其他合适硬件的存储器(共享、专用或组)。
图1是根据各种实施例的说明性半双工双线通信系统100的框图。系统100包括主机110、主节点102-1和至少一个子节点102-2。在图1中,示出了三个子节点(0、1和2)。图1中对三个子节点102-2的描述是简单说明性的,并且系统100可以根据需要包括一个、两个或更多个子节点102-1。
主节点102-1可以通过双线总线106与子节点102-2进行通信。总线106可以包括在沿着总线106的相邻节点之间的不同的双线总线链路,以日链方式连接沿着总线106上的节点。例如,如图1所示,总线106可以包括将主节点102-1耦合到子节点0的链路、将子节点0耦合到子结点1的链路、以及将子结点1耦合到子接点2的链路。在一些实施例中,总线106的链路可以各自由单个双绞线对(例如,非屏蔽双绞线对)形成。在一些实施例中,总线106的链路可以各自由同轴电缆形成(例如,芯提供“正”线,屏蔽提供“负”线,反之亦然)。双线总线链路一起提供完整的电气路径(例如,正向和回流路径),因此不需要使用额外的接地或电压源线路。
主机110可以包括对主节点102-1进行编程的处理器,并且充当沿着总线106传输的各种有效载荷的始发者和接收方。在一些实施例中,例如,主机110可以是或可以包括微控制器。特别地,主机110可以是沿着总线106发生的集成电路间声音(I2S)通信的主机。主机110可以经由l2S/时分复用(TDM)协议、串行外围接口(SPI)协议和/或集成电路间(I2C)协议与主节点102-1通信。在一些实施例中,主节点102-1可以是位于与主机110相同的外壳内的收发器(例如,下面参照图2讨论的节点收发器120)。主节点102-1可以由主机110通过I2C总线进行编程,用于配置和读回,并且可以被配置为生成所有子节点102-2的时钟、同步和成帧。在一些实施例中,主机110和主节点102-1之间的I2C控制总线的扩展可以嵌入在通过总线106传输的数据流中,允许主机110直接访问一个或多个子节点102-2的寄存器和状态信息,以及允许l2C到I2C的远距离通信,以允许主机110控制外围设备108。在一些实施例中,主机110和主节点102-1之间的SPI控制总线的扩展可以嵌入在通过总线106传输的数据流中,允许主机110直接访问一个或多个子节点102-2的寄存器和状态信息,以及允许SPI到SPI或SPI-l2C的远距离通信,以允许主机110控制外围设备108。在系统100包括在车辆中的实施例中,主机110和/或主节点102-1可以包括在车辆的头端中。
主节点102-1可以生成“下行”信号(例如,数据信号、功率信号等,沿着总线106从主节点1021发送),并接收“上行”信号(比如,沿着总线106-向主节点102-2发送)。主节点102-1可以提供用于通过总线106进行同步数据传输的时钟信号。如本文所使用的,“同步数据”可以包括在沿着总线106去往/来自同一节点的两次连续传输之间以固定时间间隔连续流式传输的数据(例如,音频信号)。在一些实施例中,由主节点102-1提供的时钟信号可以从由主机110提供给主节点102-1的I2S输入导出。子节点102-2可以是可寻址的网络连接点,其表示在总线106的下游或在总线106上的上游传输的数据帧的可能目的地。子节点102-2还可以表示下行或上行数据帧的可能源。系统100可以允许在总线106上从一个节点到下一个节点在两个方向上传输控制信息和其他数据。子节点102-2中的一个或多个子节点也可以由通过总线106传输的信号供电。
特别地,主节点102-1和子节点102-2中的每一个可以包括正上游终端(表示为“AP”)、负上游终端(指示为“AN”)、正下游终端(指示为由“BP”)和负下游终端(表示为由“BN”)。节点的正下游端子和负下游端子可以分别耦合到相邻下游节点的正上游端子和负上游端子。如图1所示,主节点102-1可以包括正上游端子和负上游端子,但是可以不使用这些端子;在其他实施例中,主节点102-1可以不包括正上游终端和负上游终端。沿着总线106的最后一个子节点102-2(图1中的子节点2)可以包括正下游端子和负下游端子,但是可以不使用这些端子;在其他实施例中,沿着总线的最后一个子节点102-2可以不包括正下游端子和负下游端子。
如下面详细讨论的,主节点102-1可以周期性地向下游发送同步控制帧,可选地连同旨在给子节点102-2中的一个或多个子节点的数据一起发送。例如,主节点102-1可以以48kHz的频率每1024比特(表示超帧)发送一个同步控制帧,从而在总线106上产生49.152Mbps的有效比特率。可以支持其他速率,包括例如44.1kHz。同步控制帧可以允许子节点102-2识别每个超帧的开始,并且还可以与物理层编码/信令相结合,允许每个子节点102-1从总线106导出其内部操作时钟。同步控制帧可以包括用于用信号通知同步开始的前导码,以及允许各种寻址模式(例如,正常、广播、发现)的控制字段、配置信息(例如,写入子节点102-2的寄存器)、I2C信息的传送、SPI信息的传送,子节点102-2处的某些通用输入/输出(GPIO)引脚的远程控制以及其他服务。可以对前导码和有效载荷数据之后的同步控制帧的一部分进行加扰,以减少同步控制帧中的信息被误认为新前导码的可能性,并使相关电磁发射的频谱变平。
同步控制帧可以在子节点102-2之间传递(可选地与其他数据一起传递,这些数据可以来自主节点102-1,但附加地或可选地可以来自一个或多个上行子节点102-2或来自子节点102-2本身),直到它到达最后一个子节点102-2(即图1中的子节点2),其已经被主节点102-1配置为最后的子节点102-2或者已经自我标识为最后的个子节点102-2。在接收到同步控制帧之后,最后一个子节点102-2可以发送同步响应帧,该同步响应帧之后是它被允许发送的任何数据(例如,在指定时隙中的24比特音频采样)。同步响应帧可以在子节点102-2之间向上游传递(可选地与来自下游子节点102-2的数据一起),并且基于同步响应帧,每个子节点1022可以能够识别允许子节点102-2在其中进行发送的时隙(如果有的话)。
在一些实施例中,系统100中的子节点102-2中的一个或多个子节点可以耦合到外围设备108并与外围设备108通信。例如,子节点102-2可以被配置为使用I2S、脉冲密度调制(PDM)、TDM、SPI和/或I2C协议从相关联的外围设备108读取数据和/或向相关联的外设108写入数据,如下所述。尽管“外围设备108”在本文中可以用单数表示,但这仅仅是为了便于讨论,并且单个子节点102-2可以与零个、一个或多个外围设备耦合。可以包括在外围设备108中的外围设备的示例可以包括数字信号处理器(DSP)、现场可编程门阵列(FPGA)、ASIC、模数转换器(ADC)、数模转换器(DAC)、编解码器、麦克风、麦克风阵列、扬声器、音频放大器、协议分析器、加速度计或其他运动传感器,环境条件传感器(例如,温度、湿度和/或气体传感器)、有线或无线通信收发器、显示设备(例如,触摸屏显示器)、用户接口组件(例如,按钮、拨盘或其他控件)、相机(例如,视频相机)、存储设备或发送和/或接收数据的任何其他合适的设备。本文详细讨论了不同外围设备配置的多个示例。
在一些实施例中,外围设备108可以包括被配置用于I2S通信的任何设备;外围设备108可以经由I2S协议与相关联的子节点102-2进行通信。在一些实施例中,外围设备108可以包括被配置用于I2C通信的任何设备;外围设备108可以经由I2C协议与相关联的子节点102-2进行通信。在一些实施例中,外围设备108可以包括被配置用于SPI通信的任何设备;外围设备108可以经由SPI协议与相关联的子节点102-2进行通信。在一些实施例中,子节点102-2可以不耦合到任何外围设备108。
子节点102-2及其相关联的外围设备108可以包含在单独的外壳中并且通过有线或无线通信连接耦合,或者可以包含在公共外壳中。例如,作为外围设备108连接的扬声器可以与用于相关联的子节点102-2的硬件(例如,下面参考图2讨论的节点收发器120)一起封装,使得用于相关联子节点102-2的硬件包含在包括其他扬声器组件的外壳内。这对于任何类型的外围设备108来说都是一样的。
如上所述,主机110可以使用多信道I2S、SPI和/或I2C通信协议与主节点102-1通信并控制主节点102-1。例如,主机110可以经由I2S向主节点102-1中的帧缓冲器(未示出)发送数据,并且主节点102-1可以从帧缓冲器读取数据并沿着总线106发送数据。类似地,主节点102-1可以将经由总线106接收的数据存储在帧缓冲器中,然后可以经由I2S将数据发送到主机110。
每个子节点102-2可以具有内部控制寄存器,该内部控制寄存器可以通过来自主节点102-1的通信来配置。下面将详细讨论许多这样的寄存器。每个子节点102-2可以接收下游数据,并且可以进一步向下游重传该数据。每个子节点102-2可以接收和/或生成上游数据和/或向上游重传数据和/或者向上游事务添加数据。
沿着总线106的通信可以在周期性超帧中发生。每个超帧可以以下行同步控制帧开始;被划分为下行传输(也称为“下行部分”)、上行传输(也称“上行部分”)和无传输(其中总线106未被驱动)的时段;并且刚好在发送另一个下行同步控制帧之前结束。主节点102-1可以(由主机110)被编程为具有多个下行部分以发送到子节点102-2中的一个或多个子节点102-2,以及多个上行部分以从子节点102-2中的一个子节点接收。每个子节点102-2可以(由主节点102-1)被编程为具有多个下游部分以沿总线106向下重传、多个下行部分以消耗、多个上行部分以沿母线106向上重传、以及多个上游部分,在这些上游部分中,子节点102-2可以从相关联的外围设备108发送从子节点102-2接收的数据。下面参照图2-12进一步详细地讨论沿着总线106的通信。
本文公开的通信系统100的实施例在传统通信系统中是独特的,因为所有子节点102-2可以在同一超帧内通过总线106接收输出数据(例如,所有子节点102-2可以在节点102之间没有采样延迟的情况下接收同一音频采样)。在传统的通信系统中,数据在下一帧中向下游传递到下一节点之前,在每个节点中被缓冲和处理。因此,在这些传统的通信系统中,数据传输的延迟取决于节点的数量(每个节点增加一个音频样本的延迟)。在本文公开的通信系统100中,无论第一子节点102-2还是最后一个子节点102-2接收数据,总线106都可以仅增加一个等待时间周期。上游通信也是如此;无论哪个子节点102-2提供了数据,数据都可以在下一个超帧中的上游节点102处可用。
此外,在本文公开的通信系统100的实施例中,下行数据(例如,下行音频数据)可以由主节点102-1或位于接收子节点102-2上游的任何子节点102-2置于总线106上;类似地,上游数据(例如,上游音频数据)可以由位于接收节点102下游的任何子节点102-2(即,主节点102-1或子节点102-2)放置在总线106上。这种能力允许子节点102-2在特定时间(例如,特定音频采样时间)提供上游和下游数据。对于音频数据,该数据可以在任何下游或上游节点102的下一个音频样本中被接收,而没有进一步的延迟(除了落入超帧边界内的微小处理延迟之外)。如本文进一步讨论的,控制消息(例如,在同步控制帧(SCF)中)可以传播到最后一个节点102(寻址特定节点102或广播),并且上游响应(例如,同步响应帧(SRF))可以由同一超帧内的最后一个下游节点102创建。已经由SCF寻址的节点102利用它们自己的响应来改变上游SRF的内容。因此,在同一音频样本内,可以在多个节点102上完全执行控制和响应。这也与传统通信系统形成对比,在传统通信系统中,节点之间会产生采样延迟(用于将消息从一个节点中继到另一个节点)。
主节点102-1和子节点102-2中的每一个可以包括收发器以管理系统100的组件之间的通信。图2是根据各种实施例的可以包括在图1的系统100的节点(例如,主节点102-1或子节点102-2)中的节点收发器120的框图。在一些实施例中,节点收发器120可以被包括在系统100的每个节点中,并且控制信号可以经由主(MAIN)引脚被提供给节点收发器120,以指示节点收发器120是充当主节点(例如,当MAIN引脚为高时)还是充当子节点(例如当MAIN针脚为低时)。
节点收发器120可以包括上游差分信令(DS)收发器122和下游DS收发器124。上游DS收发器122可以耦合到上面参考图1讨论的正和负上游终端,并且下游DS收发器124可以耦合到以上参考图1论述的正和负极下游终端。在一些实施例中,上游DS收发器122可以是低压DS(LVDS)收发器,而下游DS收发器124可以是LVDS收发器。系统100中的每个节点可以AC耦合到总线106,并且数据信号可以使用具有适当编码的预定形式的DS(例如LVDS或多点LVDS(MLVDS)或类似信令)沿着总线106传送(例如,经由上游DS收发器122和/或下游DS收发器124),以通过总线106提供定时信息(例如,差分曼彻斯特编码、双相标记编码、曼彻斯特编码、不归零、具有行程长度限制的反向(NRZI)编码或任何其他合适的编码)。
上游DS收发器122和下游DS收发器124可以与总线协议电路126通信,并且总线协议电路126可以与锁相环(PLL)128和电压调节器电路130以及其它部件通信。当节点收发器120上电时,电压调节器电路130可以产生由PLL 128用作上电复位的“电源良好”信号。
如上所述,系统100中的子节点102-2中的一个或多个子节点可以与数据同时接收通过总线106发送的功率。对于功率分配(这是可选的,因为子节点102-2中的一些子节点可以被配置为具有专门提供给它们的本地功率),主节点102-1可以在主节点102-1和子节点0之间的总线链路上放置DC偏置(例如,通过低通滤波器将其中一个下游端子连接到由电压调节器提供的电压源,并将另一个下游终端连接到地)。DC偏压可以是预定电压,例如5伏、8伏、汽车电池的电压或更高的电压。每个连续的子节点102-2可以选择性地分接其上游总线链路以恢复功率(例如,使用电压调节器电路130)。该功率可以用于对子节点102-2本身(以及可选地耦合到子节点102-2的一个或多个外围设备108)供电。子节点102-2还可以利用从上游总线链路或从本地电源恢复的功率选择性地向下游偏置总线链路以用于下一个在线子节点102-2。例如,子节点0可以使用总线106的上游链路上的DC偏置来恢复子节点0自身和/或一个或多个相关外围设备108的功率,和/或子节点0可从总线106的其上游链路恢复功率以偏置总线106的下游链路。
因此,在一些实施例中,系统100中的每个节点可以通过下游总线链路向随后的下游节点提供电力。节点的供电可以按顺序的方式执行。例如,在经由总线106发现并配置子节点0之后,主节点102-1可以指示子节点0向其总线106的下游链路提供电力,以便向子节点1提供电力;在发现并配置子节点1之后,主节点102-1可以指示子节点1向其总线106的下游链路提供功率,以便向子节点2提供功率(对于耦合到总线106的附加子节点102-2,以此类推)。在一些实施例中,子节点102-2中的一个或多个子节点可以是本地供电的,而不是由其上游总线链路供电或者除此之外由其上游母线链路供电。在一些这样的实施例中,用于给定子节点102-2的本地电源可以用于向一个或多个下游子节点提供电力。
在一些实施例中,上游总线接口电路132可以设置在上游DS收发器122和电压调节器电路130之间,并且下游总线接口电路131可以设置在下游DS收发器124和电压调节电路130之间。由于总线106的每个链路可以携带AC(信号)和DC(功率)分量,上游总线接口电路132和下游总线接口电路131可以分离AC和DC分量,将AC分量提供给上游DS收发器122和下游DS收发器124,并将DC分量提供给电压调节器电路130。上游DS收发器122和下游DS收发器124的线路侧上的AC耦合基本上将收发器122和124与线路上的DC分量隔离,以允许高速双向通信。如上所述,DC分量可以被分接用于功率,并且上游总线接口电路132和下游总线接口电路131可以包括例如铁氧体、共模扼流圈或电感器,以减少提供给电压调节器电路130的AC分量。在一些实施例中,上游总线接口电路132可以包括在上游DS收发器122中,和/或下游总线接口电路131可以包括在下游DS收发器124中;在其他实施例中,滤波电路可以在收发器122和124的外部。
节点收发器120可以包括用于节点收发器120和外部设备155之间的I2S、TDM和PDM通信的收发器127。尽管“外部设备155”在本文中可以用单数表示,但这仅仅是为了便于说明,并且多个外部设备可以经由I2S/TDM/PDM收发器127与节点收发器120通信。如本领域中已知的,I2S协议用于承载脉冲编码调制(PCM)信息(例如,在印刷电路板(PCB)上的音频芯片之间)。如本文所用,“I2S/TDM”可以指使用TDM将I2S立体声(2信道)内容扩展到多个信道。如本领域中已知的,PDM可以用于西格玛-德尔塔转换器中,并且特别地,PDM格式可以表示抽取之前的过采样的1比特西格玛-德尔特ADC信号。PDM格式经常被用作数字麦克风的输出格式。I2S/TDM/PDM收发器127可以与总线协议电路126和用于与外部设备155通信的引脚通信。六个引脚,BCLK、SYNC、DTX[1:0]和DRX[1:0],在图2中示出;BCLK引脚可用于I2S位时钟,SYNC引脚可用于I1S帧同步信号,DTX[l:0]和DRX[l:0]引脚分别用于发送和接收数据信道。尽管在图2中示出了两个发射引脚(DTX[l:0])和两个接收引脚(DRX[l:0]),但是可以使用任何期望数量的接收和/或发射引脚。
当节点收发器120包括在主节点102-1中时,外部设备155可以包括主机110,并且I2S/TDM/PDM收发器127可以提供I2S从机(关于BCLK和SYNC),其可以与主机110的I2S接口时钟同步地从主机110接收数据并向主机110发送数据。特别地,可以在SYNC引脚处接收I2S帧同步信号作为来自主机110的输入,并且PLL 128可以使用该信号来生成时钟。当节点收发器120包括在子节点102-2中时,外部设备155可以包括一个或多个外围设备108,并且I2S/TDM/PDM收发器127可以提供能够控制与外围设备108的I2S通信的I2S时钟主控器(用于BCLK和SYNC)。特别地,I2S/TDM/PDM收发器127可以在SYNC引脚处提供I2S帧同步信号作为输出。节点收发器120中的寄存器可以确定哪些和多少I2S/TDM信道作为数据时隙在总线106上传输。节点收发器120中的TDM模式(TDMMODE)寄存器可以存储TDM发送或接收引脚上的连续SYNC脉冲之间适合多少TDM信道的值。连同信道大小的知识,节点收发器120可以自动设置BCLK速率以匹配采样时间(例如,48kHz)内的比特数。
节点收发器120可以包括用于节点收发器120和外部设备157之间的I2C通信的收发器129。尽管“外部设备157”在本文中可以用单数表示,但这仅仅是为了便于说明,并且多个外部设备可以经由I2C收发器129与节点收发器120通信。如本领域中已知的,I2C协议使用时钟(SCL)和数据(SDA)线来提供数据传输。I2C收发器129可以与总线协议电路126和用于与外部设备157通信的引脚通信。图2中示出了四个引脚,ADRI、ADR2、SDA和SCL;当节点收发器120充当I2C从机时(例如,当它被包括在主节点102-1中时),并且SDA和SCL用于I2C串行数据和串行时钟信号时,ADRI和ADR2可以用于分别修改由节点收发器120使用的I2C地址。当节点收发器120被包括在主节点102-1中时,外部设备157可以包括主机110,并且I2C收发器129可以提供可以从主机110接收编程指令的I2C从机。特别地,I2C串行时钟信号可以在SCL引脚处被接收,作为来自主机110的用于寄存器访问的输入。当节点收发器120被包括在子节点102-2中时,外部设备157可以包括外围设备108,并且I2C收发器129可以提供I2C主控器以允许I2C收发器根据由主机110提供并经由总线106发送到节点收发器120的指令对一个或多个外围设备进行编程。特别地,I2C收发器129可以在SCL引脚处提供I2C串行时钟信号作为输出。
节点收发器120可以包括用于节点收发器120和外部设备138之间的SPI通信的收发器136。尽管“外部设备138”在本文中可以用单数表示,但这只是为了便于说明,并且多个外部设备可以通过SPI收发器136与节点收发器120通信。如本领域中已知的,SPI协议使用从选择(SS)、时钟(BCLK)、主输出从输入(MOSI)和主输入从输出(MISO)数据线来提供数据传输,并且在图2中示出了与这四条线相对应的引脚。SPI收发器136可以与总线协议电路126和用于与外部设备138通信的引脚通信。当节点收发器120包括在主节点102-1中时,外部设备138可以包括主机110或另一外部设备,并且SPI收发器136可以提供SPI从设备,该SPI从设备可以接收并响应来自主机110或其他外部设备的命令。当节点收发器120被包括在子节点102-2中时,外部设备138可以包括外围设备108,并且SPI收发器136可以提供SPI主机以允许SPI收发器136向一个或多个外围设备108发送命令。SPI收发器136可以包括读取数据先进先出(FIFO)缓冲器和写入数据FIFO缓冲器。读取数据FIFO缓冲器可以用于收集从其他节点102读取的数据,并且可以在外部设备138发送适当的读取命令时由外部设备138读取。写入数据FIFO缓冲器可以用于在写入数据被发送到另一个设备之前从外部设备138收集写入数据。
节点收发器120可以包括与总线协议电路126通信的中断请求(IRQ)引脚。当节点收发器120被包括在主节点102-1中时,总线协议电路126可以经由IRQ引脚向主机110提供事件驱动的中断请求。当节点收发器120被包括在子节点102-2中时(例如,当MSTR引脚为低时),IRQ引脚可以用作具有中断请求能力的GPIO引脚。除了图2所示的引脚之外,节点收发器120还可以包括其他引脚(例如,如下所述)。
系统100可以以多种不同操作模式中的任何一种操作。总线106上的每个节点可以具有指示当前启用哪个操作模式的寄存器。以下是可以实现的各种操作模式的示例的描述。在待机操作模式下,减少总线活动以实现全局节能;所需的唯一业务是保持每个节点(例如PLL 128)的PLL同步的最小下行前导码。在待机操作模式中,不支持通过总线106进行读取和写入。在发现操作模式中,主节点102-1可以沿着总线106发送预定信号,并且等待合适的响应来映射出沿着总线106分布的子节点102-2的拓扑。在正常操作模式中,可以通过总线106对子节点102-2进行全寄存器访问以及从外围设备108进行访问。正常模式可以由具有或不具有同步上游数据以及具有或不带有同步下游数据的主机110全局配置。
图3是根据各种实施例的用于系统100中的通信的同步控制帧180的一部分的图。特别地,同步控制帧180可以用于数据时钟恢复和PLL同步,如下所述。如上所述,因为总线106上的通信可以在两个方向上发生,所以通信可以时分复用到下游部分和上游部分。在下游部分中,可以从主节点102-1发送同步控制帧和下游数据,而在上游部分中,同步响应帧和上游数据可以从每个子节点102-1发送到主节点102-2。同步控制帧180可以包括前导码182和控制数据184。每个子节点102-2可以被配置为使用接收到的同步控制帧180的前导182作为用于馈送PLL 128的时基。为了便于实现这一点,前导码182不遵循有效控制数据184的“规则”,因此可以容易地与控制数据184区分开来。
例如,在一些实施例中,可以使用时钟优先、零差分曼彻斯特转换编码方案对沿着总线106的通信进行编码。根据这样的编码方案,每个比特时间以时钟转换开始。如果数据值为零,编码信号将在位时间中间再次转换。如果数据值为1,则编码信号不会再次转换。图5中所示的前导码182可能违反编码协议(例如,通过具有不发生在比特时间5、7和8的开始处的时钟转换),这意味着前导码182可能与控制数据184的任何合法(例如正确编码的)模式不匹配。此外,不能通过采用控制数据184的合法模式并强制总线106在单个比特时间或多个比特时间段内为高或低来再现前导码182。图5中所示的前导码182是简单说明性的,并且同步控制帧180可以包括不同的前导码,其可以以任何合适的方式违反控制数据184所使用的编码。
总线协议电路126可以包括差分曼彻斯特解码器电路,其在从总线106恢复的时钟上运行并且检测同步控制帧180以向PLL 128发送帧同步指示符。以这种方式,可以在不使用系统时钟或更高速过采样时钟的情况下检测同步控制帧180。因此,子节点102-2可以从总线106接收PLL同步信号,而不需要在子节点102-2处的晶体时钟源。
如上所述,沿着总线106的通信可以在周期性超帧中发生。图4是根据各种实施例的超帧190的示意图。如图6所示,超帧可以以同步控制帧180开始。当同步控制帧180被用作PLL 128的定时源时,超帧被传送的频率(“超帧频率”)可以与同步信号频率相同。在沿着总线106传输音频数据的一些实施例中,超帧频率可以与系统100中使用的音频采样频率相同(例如,48kHz或44.1kHz),但是可以使用任何合适的超帧频率。每个超帧190可以被划分为下行传输时段192、上行传输时段194和无传输时段196(例如,当总线106未被驱动时)。
在图4中,超帧190被示出为具有下行传输192的初始周期和上行传输194的较晚周期。下行传输192的周期可以包括同步控制帧180和X个下行数据时隙198,其中X可以是零。总线106上的基本上所有信号都可以是线路编码的,并且如上所述,同步信号以同步控制帧180中的同步前导182的形式从主节点102-1向下游转发到最后一个子节点102-2(例如,子节点102-2C)。下行TDM同步数据可以被包括在同步控制帧180之后的X个下行数据时隙198中。下游数据时隙198可以具有相等的宽度。如上所述,PLL 128可以提供节点用来对总线106上的通信进行计时的时钟。在总线106用于传输音频数据的一些实施例中,PLL 128可以在音频采样频率的倍数下操作(例如,音频采样频率1024倍,导致每个超帧中的1024比特时钟)。
上行传输194的周期可以包括同步响应帧197和Y个上行数据时隙199,其中Y可以是零。在一些实施例中,每个子节点102-2可以消耗下行数据时隙198的一部分。最后一个子节点(例如,图1中的子节点2)可以用同步响应帧197来响应(在存储在最后子节点的寄存器中的预定响应时间之后)。上行TDM同步数据可以由每个子节点102-2直接添加在同步响应帧197之后的上行数据时隙199中。上行数据时隙199可以具有相等的宽度。如果在超帧190的同步控制帧180中请求了对其寄存器之一的读取,或者如果在超框架190的同步控帧180中要求了远程I2C读取,则不是最后一个子节点的子节点102-2(例如,图1中的子节点0和1)可以用其自己的上行响应来替换接收到的同步响应帧197。
如上所述,同步控制帧180可以开始每个下行传输。在一些实施例中,同步控制帧180的长度可以是64比特,但是可以使用任何其他合适的长度。如上所述,同步控制帧180可以以前导码182开始。在一些实施例中,当子节点102-2将同步控制帧180重传给下行子节点102-2时,前导码182可以由发送子节点102-2生成,而不是被重传。
同步控制帧180的控制数据184可以包括包含用于控制总线106上的事务的数据的字段。下面将讨论这些领域的示例,并且在图5中示出一些实施例。特别地,图5示出了根据各种实施例的正常模式、I2C模式和发现模式下的同步控制帧180的示例格式。在一些实施例中,可以在待机模式中完全使用不同的前导182或同步控制帧180,使得子节点102-2在发送到正常模式的转换之前不需要接收所有的同步控制帧。
在一些实施例中,同步控制帧180可以包括计数(CNT)字段。CNT字段可以具有任何合适的长度(例如,2比特),并且可以从先前超帧中使用的值递增(以字段的长度为模)。接收意外的CNT值的子节点102-2可以被编程为返回中断。
在一些实施例中,同步控制帧180可以包括节点寻址模式(NAM)字段。NAM字段可以具有任何合适的长度(例如,2位),并且可以用于控制通过总线106对子节点102-2的寄存器的访问。在正常模式下,可以根据子节点102-2的ID和寄存器的地址读取和/或写入子节点102-2的寄存器。广播事务是每个子节点102-2应该进行的写入。在一些实施例中,NAM字段可以提供四种节点寻址模式,包括“无”(例如,未寻址到任何特定子节点102-2的数据)、“正常”(例如:单播到在下面讨论的地址字段中指定的特定子节点102-2的数据),“广播”(例如寻址到所有子节点102-2)和“发现”。
在一些实施例中,同步控制帧180可以包括I2C字段。I2C字段可以具有任何合适的长度(例如,1比特),并且可以用于指示下行传输192的周期包括I2C事务。I2C字段可以指示主机110已经提供了远程访问外围设备108的指令,该外围设备108相对于相关联的子节点102-2充当I2C从设备。
在一些实施例中,同步控制帧180可以包括节点字段。节点字段可以具有任何合适的长度(例如,4位),并且可以用于指示哪个子节点被寻址用于正常和I2C访问。在发现模式中,该字段可以用于在子节点102-2的节点ID寄存器中编程新发现的子节点102-2的标识符。当主节点102-1发现子节点102-2时,系统100中的每个子节点102-2可以被分配唯一的ID,如下所述。在一些实施例中,主节点102-1不具有节点ID,而在其他实施例中主要节点102-1可以具有节点ID。在一些实施例中,在总线106上连接到主节点102-1的子节点102-2(例如,图1中的子节点0)将是子节点0,并且每个连续的子节点102-2将具有比前一个子节点高1的数字。然而,这仅仅是说明性的,并且可以使用任何合适的子节点识别系统。
在一些实施例中,同步控制帧180可以包括读/写(RW)字段。RW字段可以具有任何合适的长度(例如,1位),并且可以用于控制正常访问是读取(例如,RW==1)还是写入(例如,RW==0)。
在一些实施例中,同步控制帧180可以包括地址字段。地址字段可以具有任何合适的长度(例如,8位),并且可以用于通过总线106对子节点102-2的特定寄存器进行寻址。对于I2C事务,地址字段可以替换为I2C控制值,例如START/STOP、WAIT、RW和DATA VLD。对于发现事务,地址字段可以具有预定值(例如,如图5所示)。
在一些实施例中,同步控制帧180可以包括数据字段。数据字段可以具有任何合适的长度(例如,8位),并且可以用于正常写入、I2C写入和广播写入。RESPCYCS值乘以4可用于确定新发现的节点应允许在正被接收的同步控制帧180的开始和正被发送的同步响应帧197的开始之间经过多少周期。当NAM字段指示发现模式时,下面讨论的节点地址和数据字段可以被编码为RESPCYCS值,该值在乘以合适的可选乘法器(例如4)时,以比特表示从同步控制帧180的结束到同步响应帧197的开始的时间。这允许新发现的子节点102-2确定用于上行传输的适当时隙。
在一些实施例中,同步控制帧180可以包括循环冗余校验(CRC)字段。CRC字段可以具有任何合适的长度(例如,16比特),并且可以用于在前导码182之后发送同步控制帧180的控制数据184的CRC值。在一些实施例中,可以根据CCITT-CRC错误检测方案来计算CRC。
在一些实施例中,同步控制帧180的在前导码182和CRC字段之间的至少一部分可以被加扰,以便降低该间隔中的比特序列将周期性地匹配前导码182的可能性(并且因此可能被子节点102-2误解为新超帧190的开始),以及如上所述减少电磁发射。在一些这样的实施例中,同步控制帧180的CNT字段可以由加扰逻辑使用,以确保加扰字段从一个超帧到下一个超框被不同地加扰。这里描述的系统100的各种实施例可以省略加扰。
除了如上所述的诸如加扰和/或错误编码之类的技术之外或代替诸如加扰或错误编码的技术,可以使用其他技术来确保前导182可以由子节点102-2唯一地识别,或者降低前导182出现在同步控制帧180中的其它位置的可能性。例如,可以使用更长的同步序列,以降低同步控制帧180的剩余部分的特定编码与之匹配的可能性。另外或可替换地,同步控制帧的剩余部分可以被构造为使得同步序列不会发生,例如通过将固定的“0”或“1”值放置在适当的位。
主节点102-1可以向子节点102-2发送读和写请求,包括专用于总线106上的通信的请求和I2C请求。例如,主节点102-1可以向一个或多个指定的子节点102-2(使用NAM和节点字段)发送读和写请求(使用RW字段指示),并且可以指示该请求是针对特定于总线106的子节点102-2的请求、针对子节点102-2的I2C请求,还是将请求传递到在子节点102-2的一个或多个I2C端口处耦合到子节点102-2的l2C兼容外围设备108的I2C请求。
转向上行通信,同步响应帧197可以开始每个上行传输。在一些实施例中,同步响应帧197的长度可以是64比特,但是可以使用任何其他合适的长度。同步响应帧197还可以包括前导码,如上面参考同步控制帧180的前导码182所讨论的,随后是数据部分。在下行传输结束时,总线106上的最后一个子节点102-2可以等待,直到RESPCYCS计数器到期,然后开始向上行传输同步响应帧197。如果上游子节点102-2已经成为正常读或写事务的目标,则子节点102-2可以生成其自己的同步响应帧197,并替换从下游接收的同步响应。如果任何子节点102-2在预期时间没有看到来自下游子节点102-2的同步响应帧197,则子节点102-2将生成其自己的同步响应框197并开始向上游发送它。
同步响应帧197的数据部分可以包括包含用于将响应信息传送回主节点102-1的数据的字段。下面将讨论这些领域的示例,并且在图6中示出一些实施例。特别地,图6示出了根据各种实施例的正常模式、I2C模式和发现模式下的同步响应帧197的示例格式。
在一些实施例中,同步响应帧197可以包括计数(CNT)字段。CNT字段可以具有任何合适的长度(例如,2比特),并且可以用于在先前接收的同步控制帧180中发送CNT字段的值。
在一些实施例中,同步响应帧197可以包括确认(ACK)字段。ACK字段可以具有任何合适的长度(例如,2比特),并且可以由子节点102-2插入,以在该子节点102-2生成同步响应帧197时确认在先前同步控制帧180中接收到的命令。可以在ACK字段中传送的示例指示符包括等待、确认、不确认(NACK)和重试。在一些实施例中,ACK字段的大小可以被设定为由子节点102-2发送其已经接收并处理了广播消息的确认(例如,通过向主节点102-1发送广播确认)。在一些这样的实施例中,子节点102-2还可以指示子节点102-2是否具有要发送的数据(例如,该数据可以用于基于需求的上行传输,例如来自键盘或触摸屏的非TDM输入,或者用于优先上行传输,如子节点102-2希望报告错误或紧急情况时)。
在一些实施例中,同步响应帧197可以包括I2C字段。I2C字段可以具有任何合适的长度(例如,1比特),并且可以用于发送先前接收的同步控制帧180中的I2C字段的值。
在一些实施例中,同步响应帧197可以包括节点字段。节点字段可以具有任何合适的长度(例如,4比特),并且可以用于发送生成同步响应帧197的子节点102-2的ID。
在一些实施例中,同步响应帧197可以包括数据字段。数据字段可以具有任何合适的长度(例如,8比特),并且其值可以取决于事务的类型和生成同步响应帧197的子节点102-2的ACK响应。对于发现事务,数据字段可以包括先前接收的同步控制帧180中的RESPCYCS字段的值。当ACK字段指示NACK时,或者当同步响应帧197正在响应广播事务时,数据字段可以包括广播确认(BA)指示符(其中最后一个子节点102-2可以指示广播写入是否被无错误地接收)、发现错误(DER)指示符(指示发现事务中新发现的子节点102-2是否与现有子节点102-2匹配)和CRC错误(CER)指示符(表示NACK是否由CRC错误引起)。
在一些实施例中,同步响应帧197可以包括CRC字段。CRC字段可以具有任何合适的长度(例如,16比特),并且可以用于发送同步响应帧197的在前导码和CRC字段之间的部分的CRC值。
在一些实施例中,同步响应帧197可以包括中断请求(IRQ)字段。IRQ字段可以具有任何合适的长度(例如,1比特),并且可以用于指示已经从子节点102-2用信号通知了中断。
在一些实施例中,同步响应帧197可以包括IRQ节点(IRQNODE)字段。IRQNODE字段可以具有任何合适的长度(例如,4比特),并且可以用于发送已经用信号通知由IRQ字段呈现的中断的子节点102-2的ID。在一些实施例中,用于生成IRQ字段的子节点102-2将其自己的ID插入到IRQNODE字段中。
在一些实施例中,同步响应帧197可以包括第二CRC(CRC-4)字段。CRC-4字段可以具有任何合适的长度(例如,4比特),并且可以用于发送IRQ和IRQNODE字段的CRC值。
在一些实施例中,同步响应帧197可以包括IRQ字段、IRQNODE字段和作为同步响应帧197的最后比特(例如,最后10比特)的CRC-4字段。如上所述,这些中断相关字段可以具有CRC-4形式的它们自己的CRC保护(因此不受前一CRC字段的保护)。任何需要向主节点102-1发出中断信号的子节点102-2将把其中断信息插入这些字段。在一些实施例中,具有挂起的中断的子节点102-2可以具有比下游也具有挂起中断的任何子节点102-2更高的优先级。沿着总线106的最后一个子节点102-2(例如,图1中的子节点2)可以总是填充这些中断字段。如果最后一个子节点102-2没有中断挂起,则最后一子节点102-2可以将IRQ位设置为0,将IRQNODE字段设置为其节点ID,并提供正确的CRC-4值。为了方便起见,传送中断的同步响应帧197在本文中可以称为“中断帧”
在一些实施例中,可以对前导码182和CRC字段之间的同步响应帧197的至少一部分进行加扰,以减少发射。在一些这样的实施例中,同步响应帧197的CNT字段可以由加扰逻辑使用,以确保加扰字段从一个超帧到下一个超框被不同地加扰。这里描述的系统100的各种实施例可以省略加扰。
除了如上所述的诸如加扰和/或错误编码之类的技术之外或代替诸如加扰或错误编码的技术,可以使用其他技术来确保前导182可以被子节点102-2唯一地识别,或者降低前导182出现在同步响应帧197中的其它位置的可能性。例如,可以使用更长的同步序列,以降低同步响应帧197的剩余部分的特定编码与之匹配的可能性。另外或替代地,同步响应帧的剩余部分可以被构造为使得同步序列不会发生,例如通过将固定的“0”或“1”值放置在适当的位。
图7是根据各种实施例的图2的总线协议电路126的框图。总线协议电路126可以包括控制电路154,用于根据此处描述的用于总线106的协议来控制节点收发器120的操作。特别地,控制电路154可以控制用于传输的同步帧(例如,如上所述的同步控制帧或同步响应帧)的生成、接收的同步帧的处理以及在接收的同步控制帧中指定的控制操作的执行。控制电路154可以包括如下所述的可编程寄存器。控制电路154可以创建和接收同步控制帧,对接收到的消息做出适当的反应(例如,当总线协议电路126包括在子节点102-2中时与同步控制帧相关联,或者当总线协议线路126包括在主节点102-1中时与I2C设备相关联),并根据不同的操作模式(例如,正常、发现、待机等)调整帧。
当节点收发器120准备用于沿着总线106传输的数据时,前导码电路156可以被配置为生成用于传输的同步帧的前导码,并且从接收到的同步帧接收前导码。在一些实施例中,主节点102-1可以每102-4比特发送一个下行同步控制帧前导。如上所述,一个或多个子节点102-2可以与下游同步控制帧前导同步,并根据前导生成本地相位对准的主时钟。
CRC插入电路158可以被配置为生成用于传输的同步帧的一个或多个CRC。帧/压缩电路160可以被配置为从I2S/TDM/PDM收发器127(例如,从与收发器127相关联的帧缓冲器)、I2C收发器129和/或SPI收发器136获取输入数据,可选地压缩数据,并且可选地为数据生成奇偶校验位或纠错码(ECC)。多路复用器(MUX)162可以将来自前导码电路156的前导码、同步帧和数据多路复用到流中用于传输。在一些实施例中,发射流可以在发射之前由加扰电路164加扰。
例如,在一些实施例中,帧/压缩电路160可以应用浮点压缩方案。在这样的实施例中,控制电路154可以发送3个比特来指示该数字中有多少重复的符号比特,然后是符号比特和N-4个比特的数据,其中N是要在总线106上发送的数据的大小。数据压缩的使用可以在需要时由主节点102-1配置。
在一些实施例中,进入节点收发器120的接收流可以由解扰电路166解扰。解复用器(DEMUX)168可以从接收流中解复用前导码、同步帧和数据。接收侧的CRC校验电路159可以针对正确的CRC来校验接收到的同步帧。当CRC校验电路159在进入的同步控制帧180中识别出CRC故障时,控制电路154可以被通知该故障,并且将不执行同步控制帧180的控制数据184中的任何控制命令。当CRC校验电路159在进入的同步响应帧197中识别出CRC故障时,控制电路154可以被通知该故障,并且可以在中断帧中生成用于传输到主机110的中断。碎片整理/解压缩电路170可以接受接收数据,可选地检查其奇偶性,可选地执行错误检测和校正(例如,单错误校正-双错误检测(SECDED)),可选地解压缩数据,并且可以将接收数据写入I2S/TDM/PDM收发器127(例如,与收发器127相关联的帧缓冲器)、I2C收发器129,和/或SPI收发器136。
如上所述,可以在超帧190内的TDM数据时隙中沿着总线106发送上行和下行数据。控制电路154可以包括专用于管理总线106上的这些数据槽的寄存器,下面将讨论其多个示例。当控制电路154被包括在主节点102-1中时,主机110可以将这些寄存器中的值编程到控制电路154中。当控制电路154包括在子节点102-2中时,这些寄存器中的值可以由主节点102-1编程到控制电路154中。
在一些实施例中,控制电路154可以包括下行时隙(DNSLOTS)寄存器。当节点收发器120被包括在主节点102-1中时,该寄存器可以保持下行数据时隙的总数的值。该寄存器还可以定义将由主节点102-1中的I2S/TDM/PDM收发器127用于组合的I2S/TDM/PDM接收的数据时隙的数量。在子节点102-2中,该寄存器可以定义在添加本地生成的下游时隙之前或之后向下游传递到下一个子节点102-2的数据时隙的数量,如下面参考LDNSLOTS进一步详细讨论的。
在一些实施例中,控制电路154可以包括本地下行时隙(LDNSLOTS)寄存器。该寄存器可以在主节点102-1中未被使用。在子节点102-2中,该寄存器可以定义子节点102-2将使用并且不重传的数据时隙的数量。或者,该寄存器可以定义子节点102-2可以贡献给总线106的下游链路的时隙的数量。
在一些实施例中,控制电路154可以包括上行时隙(UPSLOTS)寄存器。在主节点102-1中,该寄存器可以保持上行数据时隙的总数的值。该寄存器还可以定义将由主节点102-1中的I2S/TDM/PDM收发器127用于I2S/TDM传输的时隙的数量。在子节点102-2中,该寄存器可以定义在子节点102-2开始添加其自己的数据之前向上游传递的数据时隙的数量。
在一些实施例中,控制电路154可以包括本地上行时隙(LUPSLOTS)寄存器。该寄存器可以在主节点102-1中未被使用。在子节点102-2中,该寄存器可以定义子节点102-2将在从下游接收的数据被发送到上游之前添加到该数据的数据时隙的数量。该寄存器还可以定义将用于由子节点102-2中的I2S/TDM/PDM收发器127组合的I2S/TDM/PDM接收的数据时隙的数量。
在一些实施例中,控制电路154可以包括广播下行时隙(BCDNSLOTS)寄存器。该寄存器可以在主节点102-1中未被使用。在子节点102-2中,该寄存器可以定义广播数据时隙的数量。在一些实施例中,广播数据时隙可以总是出现在数据字段的开头。广播数据时隙中的数据可以由多个子节点102-2使用,并且可以由所有子节点102-2向下游传递,无论它们是否被使用。
在一些实施例中,控制电路154可以包括时隙格式(SLOTFMT)寄存器。该寄存器可以定义用于上行和下行传输的数据的格式。I2S/TDM/PDM收发器127的数据大小也可以由该寄存器来确定。在一些实施例中,有效数据大小包括12、16、20、24、28和32位。该寄存器还可以包括使能用于下行和上行业务的浮点压缩的比特。当启用浮点压缩时,I2S/TDM数据大小可以比总线106上的数据大小大4位。当数据时隙被启用时,系统100中的所有节点可以具有相同的SLOTFMT值,并且这些节点可以通过广播写入来编程,使得所有节点将被更新为相同的值。
图8-11示出了根据本文所述的总线协议的各种实施例的沿着总线106的信息交换的示例。特别地,图8-11示出了其中每个子节点102-2耦合到作为外围设备108的一个或多个扬声器和/或一个或更多个麦克风的实施例。这仅仅是说明性的,因为外围设备108的任何期望的布置可以根据本文所描述的技术耦合到任何特定的子节点102-2。
首先,图8示出了根据各种实施例的用于总线106上的双向通信的信令和定时考虑。图8中所示的子节点102-2具有各种数量的传感器/致动器元件,因此不同数量的数据可以被发送到各个子节点102-2或从各个子节点接收。具体地,子节点1具有两个元件,子节点4具有四个元件,并且子节点5具有三个元件,因此主节点102-1发送的数据包括用于子节点1的两个时隙、用于子节点4的四个时隙以及用于子节点5的三个时隙。类似地,子节点0具有三个元素,子节点2具有三个元件,子节点3具有三个单元,子节点6具有一个单元,并且子节点7具有四个单元,因此这些子节点102-2向上游发送的数据包括相应数量的时隙。应该注意的是,元素和时隙之间不必存在一对一的相关性。例如,包括在外围设备108中的具有三个麦克风的麦克风阵列可以包括DSP,该DSP组合来自三个麦克风(并且可能还有从主节点102-1或从其他子节点102-2接收的信息)的信号以产生单个数据样本,根据处理的类型,该单个数据样本可以对应于单个时隙或多个时隙。
在图8中,主节点102-1发送SCF,随后发送用于耦合到特定子节点102-2(SD)的扬声器的数据。每个相继的子节点102-2转发SCF,并且还转发至少任何去往下游子节点102-2的数据。特定子节点102-2可以转发所有数据,或者可以移除去往该子节点102-2的数据。当最后一个子节点102-2接收到SCF时,该子节点102-2发送SRF,可选地,该SRF后面跟着子节点102-2被允许发送的任何数据。每个连续子节点102-2将SRF与来自下游子节点102-2的任何数据一起转发,并且可选地插入来自耦合到特定子节点102-2(MD)的一个或多个麦克风的数据。在图8的示例中,主节点102-1向子节点1、4和5(在图8中描绘为有源扬声器)发送数据,并从子节点7、6、3、2和0(在图8中描绘为麦克风阵列)接收数据。
图9从下游DS收发器124的角度示意性地示出了根据各种实施例的从下游传输中动态移除数据以及将数据插入到上游传输中。在图9中,与图8中一样,主节点102-1以相反的顺序(例如,子节点5的数据后面跟着子节点4的数据,子节点4后面跟着子结点1的数据,等等)(参见标记为MAIN的行)发送SCF,随后发送用于子节点1、4和5(SD)的数据。当子节点1接收到该传输时,子节点1移除其自身的数据,并且仅向子节点2转发SCF,随后是子节点5和4的数据。子节点2和3原封不动地转发数据(参见标记为Sub 2的行),使得子节点1转发的数据被子节点4接收(参见标记的Sub 3的行)。子节点4移除其自身的数据并且仅将SCF转发到子节点5,随后是用于子节点5的数据,并且类似地,子节点5移除其自身数据并且仅向子节点6转发SCF。子节点6将SCF转发到子节点7(参见标记为Sub 6的行)。
此时,子节点7向子节点6发送SRF,然后发送其数据(参见标记为SUB 6的行)。子节点6将SRF连同来自子节点7的数据和它自己的数据一起转发到子节点5,并且子节点5又将SRF与来自子节点6和7的数据一起发送到子节点4。子节点4没有要添加的数据,所以它简单地将数据转发到子节点3(参见标记为Sub 3的行),子节点3将数据及其自身的数据转发至子节点2(参见标记为sub 2的行),子节点2又将数据及其自己的数据转发给子节点1。子节点1没有要添加的数据,因此它将数据转发给子节点0,子节点0将数据与其自己的数据一起转发。结果,主节点102-1接收SRF,然后接收来自子节点7、6、3、2和0的数据(参见标记为MAIN的行)。
图10从下行DS收发器124的角度示出了从下行传输动态移除数据并将数据插入上行传输的另一示例,如图9所示,尽管在图10中,子节点102-2与作为外围设备108的传感器和致动器二者耦合,使得主节点102-1向下游发送数据到所有子节点102-2,并从所有子节点102-2接收回数据。此外,在图10中,数据是基于其目的地或来源的节点地址排序的。标记为“Y”的数据槽可用于数据完整性检查或数据校正。
图11从下行DS收发器124的角度示出了从下行传输动态移除数据并将数据插入上行传输的另一示例,如图9所示,尽管在图11中,数据是按顺序而不是按相反顺序向下行和上行传送的。在每个子节点102-2处进行缓冲允许选择性地添加、移除和/或转发数据。
如上所述,每个子节点102-2可以从下行或上行传输中移除数据和/或可以向下行或上行发送添加数据。因此,例如,主节点102-1可以向多个子节点102-2中的每一个子节点发送单独的数据样本,并且每一个这样的子节点102-2可以去除其数据样本并且仅转发意图用于下游子节点102-2的数据。另一方面,子节点102-2可以从下游子节点102-2接收数据,并将该数据与附加数据一起转发。根据需要发送尽可能少的信息的一个优点是减少了系统100共同消耗的电量。
系统100还可以支持从主节点102-1到子节点102-2的广播传输(和多播传输),特别是通过配置子节点102-2的下行时隙使用。每个子节点102-2可以处理广播传输并将其传递给下一个子节点102-2,尽管特定子节点102-2可以“消耗”广播消息(即,不将广播传输传递给下个子节点102-2)。
系统100还可以支持上行传输(例如,从特定子节点102-2到一个或多个其他子节点102-2)。这种上行传输可以包括单播、多播和/或广播上行传输。对于上游寻址,如上面参考下游传输所讨论的,子节点102-2可以基于子节点102-2的上游时隙使用的配置来确定是否从上游传输中移除数据和/或是否将上游传输传递到下一个上游子节点102-2。因此,例如,除了将数据传递到主节点102-2之外,或者代替将数据传递给主节点102-2,数据可以由特定子节点102-2传递到一个或多个其他子节点102-1。例如,可以经由主节点102-1来配置这样的子-子关系。
因此,在各种实施例中,子节点102-2可以作为主动/智能中继器节点操作,具有选择性地转发、丢弃和添加信息的能力。子节点102-2通常可以在不必解码/检查所有数据的情况下执行这样的功能,因为每个子节点102-2知道其将在其中接收/发送数据的相关时隙,并且因此可以从时隙中移除数据或将数据添加到时隙中。尽管子节点102-2可能不需要解码/检查所有数据,但子节点102-2通常可以重新锁定其发送/转发的数据。这可以提高系统100的鲁棒性。
在一些实施例中,总线106可以被配置用于环形拓扑中的单向通信。例如,图12示出了根据各种实施例的环形拓扑中的主节点102-1和四个子节点102-2的布置1200,并且示出了用于布置1200中的单向通信的信令和定时考虑。在这样的实施例中,节点中的节点收发器120可以包括仅接收收发器(MAIN In)和仅发送收发器(MAIN OUT),而不是用于上游和下游通信的两个双向收发器。在图12所示的链路层同步方案中,主节点102-1发送SCF180,可选地,随后是耦合到各个子节点102-2的三个扬声器的“下行”数据120-2(不同扬声器的数据可以按照任何合适的顺序排列,如以上参考图8-11所讨论的),并且每个相继的子节点102-2将同步控制帧180连同来自先前子节点102-2的任何“上游”数据和其自身的“上游”信息一起转发,以提供“上游”的数据1204(例如,来自八个不同麦克风的数据可以按任何合适的顺序排列,如上文参考图8-11所讨论的)。
如本文所述,数据可以以多种方式中的任何一种在系统100的元件之间进行通信。在一些实施例中,数据可以作为同步数据时隙集合的一部分由子节点102-2在上游(例如,使用数据时隙199)发送,或者由子节点102-2或主节点102-1在下游(例如,利用数据时隙198)发送。可以通过改变数据时隙中的比特数或者包括额外的数据时隙来调整这种数据的量。数据也可以通过包含在同步控制帧180或同步响应帧197中而在系统100中进行通信。以这种方式传送的数据可以包括来自主机110的I2C控制数据(具有来自与子节点102-2相关联的外围设备108的响应);对子节点102-2的寄存器的访问(例如,用于发现和配置槽和接口),其可以包括从主机110/主节点102-1到子节点102-2的写访问和从子节点102-2到主机110//主节点102-1的读访问;以及经由中断从外围设备108到主机110的事件信令。在一些实施例中,GPIO引脚可用于将信息从子节点102-2传送到主节点102-1(例如,通过使主节点102-1通过I2C轮询GPIO引脚,或者通过使子节点102-2的节点收发器120在中断请求引脚处产生中断)。例如,在一些这样的实施例中,主机110可以经由I2C向主节点102-1发送信息,然后主节点102-1可以经由GPIO引脚向子节点102-2发送该信息。通过总线106传输的本文所讨论的任何类型的数据可以使用这些通信路径中的任何一个或多个来传输。在此可以公开系统100内的其他类型的数据和数据通信技术。
本公开的实施例可以被实现到使用任何合适的硬件和/或软件来根据需要进行配置的系统中。图13示意性地示出了根据各种实施例的可以用作系统100中的主机或节点(例如,主机110、主节点102-1或子节点102-2)的设备1300。图13中示出了包括在设备1300中的多个组件,但是这些组件中的任何一个或多个可以被省略或复制,以适合应用。
此外,在各种实施例中,设备1300可以不包括图13中所示的一个或多个组件,但是设备1300可以包括用于耦合到一个或更多个组件的接口电路。例如,设备1300可以不包括显示设备1306,但是可以包括显示设备接口电路(连接器和驱动器电路),显示设备1306可以耦合到该显示设备接口线路。在另一组示例中,设备1300可以不包括音频输入设备1324或音频输出设备1308,而是可以包括音频输入或输出设备接口电路(例如,连接器和支持电路),音频输入设备1344或音频输入设备1308可以耦合到该接口电路。
根据本文公开的任何实施例,设备1300可以包括节点收发器120,用于在设备1300耦合到总线106时管理沿着总线106的通信。设备1300可以包括处理设备1302(例如,一个或多个处理设备),其可以被包括在节点收发器120中或者与节点收发器120分离。如本文所用,术语“处理设备”可指处理来自寄存器和/或存储器的电子数据以将该电子数据转换为可存储在寄存器和/或者存储器中的其他电子数据的任何设备或设备的一部分。处理设备1302可以包括一个或多个DSP、ASIC、中央处理单元(CPU)、图形处理单元(GPU)、密码处理器或任何其他合适的处理设备。设备1300可以包括存储器1304,存储器1304本身可以包括一个或多个存储器设备,例如易失性存储器(例如,动态随机存取存储器(DRAM))、非易失性存储(例如,只读存储器(ROM))、闪存、固态存储器和/或硬盘驱动器。
在一些实施例中,存储器1304可以用于存储编程指令的工作副本和永久副本,以使设备1300执行本文公开的技术中的任何合适的技术。在一些实施例中,用于执行上述技术的机器可访问介质(包括非瞬态计算机可读存储介质)、方法、系统和设备是本文公开的用于通过双线总线进行通信的实施例的说明性示例。例如,计算机可读介质(例如,存储器1304)上可以存储指令,这些指令在由包括在处理设备1302中的一个或多个处理设备执行时使得设备1300执行本文公开的任何技术。
在一些实施例中,设备1300可以包括另一个通信芯片1312(例如,一个或多个其他通信芯片)。例如,通信芯片1312可以被配置用于管理无线通信,以便向设备1300传输数据和从设备1300传输。术语“无线”及其衍生物可用于描述电路、设备、系统、方法、技术、通信信道等,其可通过非固体介质使用调制电磁辐射来传输数据。该术语并不意味着相关联的设备不包含任何导线,尽管在一些实施例中它们可能不包含。
通信芯片1312可以实现多个无线标准或协议中的任何一个,包括但不限于电气和电子工程师协会(IEEE)标准,包括Wi-Fi(IEEE 802.1 1族)、IEEE 802.1 6标准(例如,IEEE802.1 6-2005修正案)、长期演进(LTE)项目以及任何修正、更新、和/或修订(例如,高级LTE项目、超移动宽带(UMB)项目(也称为“3GPP2”)等)。IEEE 802.1 6兼容的宽带无线接入(BWA)网络通常被称为WiMAX网络,这是代表微波接入全球互操作性的首字母缩写,是通过IEEE802.1 6标准的一致性和互操作性测试的产品的认证标志。一个或多个通信芯片1312可以根据全球移动通信系统(GSM)、通用分组无线电服务(GPRS)、通用移动电信系统(UMTS)、高速分组接入(HSPA)、演进型HSPA(E-HSPA)或LTE网络来操作。一个或多个通信芯片1312可以根据用于GSM演进的增强型数据(EDGE)、GSM EDGE无线电接入网络(GERAN)、通用陆地无线电接入网(UTRAN)或演进型UTRAN(E-UTRAN。一个或多个通信芯片1312可以根据码分多址(CDMA)、时分多址(TDMA)、数字增强无绳电信(DECT)、演进数据优化(EV-DO)及其衍生物以及被指定为3G、4G、5G等的任何其他无线协议来操作。在其他实施例中,通信芯片1312可以根据其他无线协议进行操作。设备1300可以包括天线1322以促进无线通信和/或接收其他无线通信(例如AM或FM无线电传输)。
在一些实施例中,通信芯片1312可以使用不同于本文所述的用于总线106的协议的协议来管理有线通信。有线通信可以包括电的、光的或任何其他合适的通信协议。可以由通信芯片1312启用的有线通信协议的示例包括以太网、控制器局域网(CAN)、I2C、面向媒体的系统传输(MOST)或任何其他合适的有线通信通信协议。
如上所述,通信芯片1312可以包括多个通信芯片。例如,第一通信芯片1312可以专用于诸如Wi-Fi或蓝牙之类的较短距离无线通信,而第二通信芯片1312可以专用于例如全球定位系统(GPS)、EDGE、GPRS、CDMA、WiMAX、LTE、EV-DO或其他之类的较长距离无线通信。在一些实施例中,第一通信芯片1312可以专用于无线通信,而第二通信芯片1312可以专用于有线通信。
设备1300可以包括电池/电源电路1314。电池/电源电路1314可以包括一个或多个能量存储设备(例如,电池或电容器)和/或用于将设备1300的组件耦合到与设备1300分离的能量源(例如,AC线路电力、由汽车电池提供的电压等)的电路。例如,电池/电源电路1314可以包括上面参考图2讨论的上游总线接口电路132和下游总线接口电路131,并且可以通过总线106上的偏置来充电。
设备1300可以包括显示设备1306(或者如上所述的相应接口电路)。显示设备1306可以包括任何视觉指示器,例如平视显示器、计算机监视器、投影仪、触摸屏显示器、液晶显示器(LCD)、发光二极管显示器或平板显示器。
设备1300可以包括音频输出设备1308(或者如上所述的相应接口电路)。音频输出设备1308可以包括生成可听指示器的任何设备,例如扬声器、耳机或耳塞。
设备1300可以包括音频输入设备1324(或者如上所述的相应接口电路)。音频输入设备1324可以包括生成表示声音的信号的任何设备,例如麦克风、麦克风阵列或数字乐器(例如,具有乐器数字接口(MIDI)输出的乐器)。
设备1300可以包括GPS设备1318(或者如上所述的相应接口电路)。GPS设备1318可以与基于卫星的系统通信,并且可以接收设备1300的位置,如本领域中已知的。
设备1300可以包括另一个输出设备1310(或相应的接口电路,如上所述)。其他输出设备1310的示例可以包括音频编解码器、视频编解码器、打印机、用于向其他设备提供信息的有线或无线发射机、或者附加存储设备。此外,本文所讨论的外围设备108中的任何合适的外围设备可以包括在其他输出设备1310中。
设备1300可以包括另一个输入设备1320(或相应的接口电路,如上所述)。其他输入设备1320的示例可以包括加速度计、陀螺仪、图像捕获设备、键盘、光标控制设备,例如鼠标、触笔、触摸板、条形码读取器、快速响应(QR)代码读取器或射频识别(RFID)读取器。此外,本文所讨论的传感器或外围设备108中的任何合适的传感器或外设可以包括在另一个输入设备1320中。
上面参考设备1300描述的显示器、输入、输出、通信或存储器设备中的任何合适的设备可以用作系统100中的外围设备108。可替换地或附加地,上面参考设备1300描述的显示、输入、输出、通信或存储器设备中的合适的设备可以包括在主机(例如,主机110)或节点(例如,主节点102-1或子节点102-2)中。
系统100的元件可以被选择和配置为通过总线106提供音频和/或光控制。在一些实施例中,系统100可以被配置为用作车辆或其他环境中的光控制系统,其中照明设备(例如,带状发光二极管(LED)或其他LED布置)用作与沿着总线106的节点102通信的外围设备108;数据可以通过总线106进行通信,以控制照明设备的颜色、强度、占空比和/或其他参数。在一些实施例中,系统100可以被配置为用作车辆或其他环境中的音频控制系统,其中麦克风或包括加速度计的其他设备可以用作与沿着总线106的节点102通信的外围设备108;来自加速度计的数据可以通过总线106进行通信,以沿着总线106控制其他外围设备108。例如,加速度数据中的大尖峰或其他预定的加速度数据模式可以用于触发由耦合到节点102的处理设备产生的声音效果,例如牛铃或鼓击;该声音效果可以由耦合到处理设备的扬声器和/或由沿着总线106耦合到另一节点102的扬声器输出。系统100的一些实施例可以结合本文公开的任何照明控制和/或音频控制技术。
尽管上面讨论的各种实施例在车辆设置中描述了系统100,但这只是说明性的,并且系统100可以在任何期望的设置中实现。例如,在一些实施例中,系统100的“手提箱”实现可以包括便携式外壳,该便携式外壳包括系统100的期望部件;这样的实现可能特别适合于诸如便携式卡拉OK或娱乐系统之类的便携式应用。
如上所述,阵列中的麦克风的校准(例如,在其中一个或多个外围设备108包括麦克风的系统100的实施例中)对于有效的波束成形和其他操作可能是重要的。图14-22示出了用于校准的示例系统和技术以及在运行时间期间校准的应用。
图14示出了根据各种实施例的用于在生产后的线端测试期间校准麦克风模块的系统。在图14的系统中,扬声器2120可以在校准下向麦克风模块2140播放测试信号s(t)。麦克风模块2140可以包括一个麦克风,或者可以包括n个麦克风Mi...Mn 2141...2142的阵列。在一些示例中,n=l,并且麦克风阵列是一个麦克风的阵列。参考麦克风Mo 2130可以放置在扬声器2120和麦克风模块2140之间,或者放置在相对于扬声器2120与麦克风模块2140的任何合适的已知位置。麦克风Mi...Mn可以产生信号mi(t)...mn(t),并且这些信号和参考麦克风信号mo(t)可以在校准计算器2110中进行处理。校准计算器2110可以包括任何合适的处理设备,并且可以是例如个人计算机。校准计算器2110可以生成一组滤波器系数(在此也称为“校准系数”)Ki...Kn,并且可以在校准下将滤波器系数发送到麦克风模块2140。系数可以存储在与麦克风模块2140相关联的非易失性存储器2143(例如,可编程只读存储器(PROM))中。
麦克风模块通常在生产过程中或生产后进行测试。在一些示例中,扬声器2120发射音调、啁啾或频率范围扫频,其在参考麦克风2130处以及在麦克风模块2140的麦克风2141、2142中的每一个处被接收。然后确定麦克风2141、2142中的每一个是否通过规范。麦克风2141、2142对接收到的音调的响应包括频率、幅度和相位测量。一旦确定了在所选麦克风2141、2142处接收到的频率、幅度和相位测量值是多少,就可以确定各个麦克风或整个麦克风模块的校准系数。在各种示例中,幅度测量是幅度测量。在某些示例中,一些麦克风模块未通过测试而报废。
通过测试的麦克风模块可以使用测试音调(或测试啁啾、测试频率扫描等)响应测量来校准,并且可以为每个麦克风2141、2142生成频率和相位图。频率和相位图可以用于将来的麦克风2141、2142的校准。例如,可以为每个麦克风或麦克风模块作为一个整体生成校准信息,并将其保存用于将来的麦克风校准和/或补偿。在一些示例中,为每个麦克风2141、2142生成变换,该变换可以被存储并用于以后的麦克风补偿和/或校准。在一些示例中,校准数据被存储在麦克风模块本身的存储器上,例如只读存储器、可编程只读存储器(PROM)、可擦除PROM(EPROM)和电可擦除可编程只读内存(EEPROM)中。在一些示例中,麦克风的校准数据存储在麦克风外部。例如,校准数据可以存储在云存储中,并可由数字信号处理器(DSP)访问,以便在麦克风使用之前和使用期间进行校准。在一些示例中,数字总线网络功能可用于获取每个麦克风的特定麦克风校准数据。
在一些示例中,使用参考麦克风2130来实现麦克风2141、2142的校准。例如,参考麦克风2130具有已知的响应。麦克风校准生成麦克风校准系数。校准系数可以存储在麦克风模块上,使得无论麦克风模块安装在哪里,校准系数都保留在麦克风上。
根据一些实施方式,为每个麦克风保存的校准系数包括相位数据,并且在一些示例中,校准系数包括相容限。在一些实施方式中,校准系数包括复数。在一些示例中,校准系数包括脉冲响应。在一些示例中,校准系数包括传递函数。
根据各种实施方式,参考麦克风2130是空间中的参考点,参考麦克风2130校准从扬声器2120接收的声音,从而考虑扬声器2120的不确定性。在各种示例中,参考麦克风2130被预先校准。在一些示例中,参考麦克风2130的频率响应是预先校准的。在一些示例中,参考麦克风2130的频率响应可以用于麦克风模块2140。在一些实施方式中,相位信息被包括在校准中,并且被保存到麦克风模块,例如麦克风存储器2143。在一些示例中,计算设备获取存储在麦克风模块2140上的校准系数数据,并将该数据应用于麦克风2141、2142以校准麦克风2141和2142。
在各种实施方式中,麦克风模块2143上的存储器是EPROM。在一些示例中,存储器模块2143是EEPROM。在一些示例中,存储器模块2143是一次性可编程(OTP)EPROM。在一些实现中,存储器模块2143包括附加的麦克风信息,例如供应商信息、产品信息、版本信息、序列号、设备能力以及任何其他麦克风信息。在一些实现中,存储器集成在麦克风模块上的MCU或数字网络芯片上。
根据各种实施方式,存储在麦克风模块本身上的校准数据包括频率数据、幅度数据和相位数据。在各种示例中,幅度数据包括幅度数据。在一些示例中,校准数据通过2线接口进行通信。在一些示例中,校准数据通过音频通信网络(如数字网络总线)进行通信。
根据各种实现方式,可以为单个麦克风存储校准系数,并且可以为麦克风阵列存储校准系数。在一些示例中,为麦克风阵列存储单个校准。例如,如果麦克风偏离中心,并且在校准过程中发现麦克风的偏离中心位置,则可以使用相同的校准数据来校准每个麦克风的偏离位置。可以一起校准麦克风阵列和麦克风模块2140的特性。在某些示例中,每个麦克风都有单独的校准数据。
在某些示例中,增益和相位校正可能看起来像移位麦克风。可以知道信号在到达时应该如何出现,如果信号错位,可以进行调整。在各种示例中,偏移可以是麦克风失配或麦克风放置失配,因为两者都是不可区分的,并且可以同时得到相同的最终结果。
在一些实施方式中,针对选定的方向校准模块2140中的麦克风,并且在每传感器校准之后,校准麦克风模块2140内的阵列的麦克风,使得麦克风2141、2142具有相同的频率和相位响应。一般来说,一旦校准了麦克风,校准系数就留在麦克风上,因此可以在麦克风最终安装的任何地方使用。
在一些示例中,存储器2143包括特定于个别麦克风的一些校准数据和应用于麦克风模块2140的一些校准信息。例如,麦克风模块2140的物理特性,例如麦克风阵列的麦克风之间的间隔,可以存储在存储器2143中。在一些示例中,为安装在车头单元中的麦克风阵列提供系数,使得波束成形可以应用于驾驶员。例如,头单元可以知道聚焦在哪个角度和/或方向上,但是头单元可能不知道安装了什么类型的麦克风阵列。如果麦克风阵列信息可用于头部单元,则头部单元可以计算波束成形特性。可以存储在存储器2143中的关于麦克风模块的信息包括阵列中的麦克风的数量、麦克风的增益范围以及麦克风的物理特性。
在上面参考图14讨论的校准方法的一些特定实施例中,短时傅立叶变换可以用于计算频域表示S(f)、M0(f),M1(f)...Mn(f)。
在一些实现中,系统中多个麦克风模块的麦克风数据存储在子节点中的一个存储器设备上。在一些实现中,系统中所有麦克风模块的麦克风数据存储在子节点中的一个存储器设备上。例如,校准数据可以存储在子节点,而无需板载处理,但有数据存储。在一些示例中,数据在安装后场景测试之后存储,并存储在具有可用且开放的存储器设备的网络总线节点中。
图15是示出根据本发明的各种实施例的、在使用类似于图14的系统的校准期间可以执行的操作的方法2200。在步骤2202,通过扬声器回放测试信号s(t)。例如,可以通过扬声器2120来回放测试信号s(t)。测试信号s(t)可以是测试音调、线性调频、频率扫描或任何其他类型的信号。在步骤2204,对来自参考麦克风和麦克风阵列中的麦克风的麦克风音频信号m0(t)、m1(t)…mn(t)进行采样(例如,来自参考麦克风2130的参考麦克风音频信号m0(t),以及来自麦克风模块2140的麦克风阵列的麦克风音频信号m1(t)…mn(t))。
在步骤2206,基于每个时域信号s(t)、m0(t)、m1(t)、…、mn(t)的N个音频样本的帧来确定频域信号S(f)、M0(f)、M1(f)…、Mn(f)。在一些示例中,每个时域信号s(t)、m0(t)、m1(t)、…、mn(t)的N个音频样本的帧的傅立叶变换用于计算频域信号S(f)、M0(f)、M1(f)…、Mn(f)。在步骤2208,针对每个麦克风M1、…、Mn(例如,麦克风模块2140的麦克风阵列中的麦克风2141、2142)计算校准系数K1(t)、…、Kn(t)。在一些示例中,谱域信号M1(f)、…、Mn(f)和S(f)或M0(f)用于计算校准系数。在一些示例中,在步骤2206计算的频域信号用于在步骤2208确定校准系数。在一些示例中,参考麦克风音频信号m0(t)用于确定麦克风模块2140中的麦克风阵列的麦克风2141、2142的校准系数。在步骤2210,将校准系数K1(t)、…、Kn(t)存储在与麦克风阵列相关联的非易失性存储器中(例如,校准系数K1(τ),…Kn(τ)存储在麦克风模块2140的存储器2143中)。
图16是示出根据本发明的各种实施例的在确定校准系数时可以执行的特定操作的方法2220。特别地,在一些示例中,方法2220的步骤2222和2224代替图15的方法2200的步骤2208。在一些示例中,方法2220在图15的方法2200的步骤2206之后开始。在步骤2222,针对麦克风模块2140中的每个麦克风2141、2142计算校准传递函数H1…Hn。特别地,计算校准传递函数Hx(f),x=1…n,其中:
在一些示例中,使用采样的麦克风音频信号m0(t)、m1(t)…mn(t)来计算校准传递函数。在步骤2224,使用Hx(f)的傅立叶逆变换来计算使用校准传递函数H1…Hn的校准系数K1(τ),…Kn(τ)。在步骤2226,校准系数被存储在麦克风模块的非易失性存储器(例如,麦克风模块2140的存储器2143)中。
在图16的实施例中,映射M0到Mx的传递函数,其中x表示麦克风1…n中的任何一个,可以被计算为(1)麦克风Mx和参考麦克风M02130的时间平均互相关乘积(在分母中)和(2)M0的自相关积(在分子中)的商。图16中所示的校准传递函数是该传递函数的倒数,其中相移项exp(i2πfd/c)反映M0和Mx之间的时间延迟,从而导致更短的滤波器。有限脉冲响应(FIR)滤波器系数Kx可以通过应用校准传递函数Hx 2312的傅立叶逆变换来计算。
图17是示出根据本发明的各种实施例的在确定校准系数时可以执行的特定操作的方法2240。特别地,在一些示例中,方法2240在图15的步骤2204之后开始。如图17所示,方法2240是一个多步骤的过程。在步骤2242,对测试信号扬声器进行预校准。特别地,可以计算传递函数HL(f)以将扬声器信号S(f)映射到参考麦克风信号M0(f)。在一个示例中:
在步骤2244,计算校准传递函数Hx(f),(x=1…n)。特别是:
在一些示例中,在步骤2244,参考麦克风M0然后不用于校准传递函数Hx的计算。例如,参考麦克风信号可以被计算为HL(f)和S(f)的乘积。然后可以如上所述执行滤波器系数的计算。特别地,在步骤2246,通过Hx(f),(x=1…n)的傅立叶逆变换来确定校准系数Kx(t),(x=1…n)。在步骤2248,校准系数被存储在麦克风阵列存储器中。在又一实施例中,方法2240中的校准的第一步骤可以省略,并且扬声器可以用于输出测试信号s(t)(例如,具有平坦频率响应的点源),并且HL(f)可以针对所有频率设置为1。
图18示出了根据各种实施例的包括多个麦克风模块A1…Am2410…2420的系统2400。系统2400示出了在操作时的麦克风模块A1…Am2410…2420。特别地,麦克风模块A1…Am 2410…2420可以安装在选定的位置以供使用。麦克风模块A1…Am 2410…2420可以如上文关于图14-17所描述的那样预先被校准。在系统2400中的操作期间,先前执行的校准可以用于对模块A1…Am 2410…2420中的麦克风的麦克风信号进行滤波。特别地,可以预先对麦克风模块A1...Am 2410…2420中的每一个执行校准,并且可以将校准系数存储在每个麦克风模块A1...Am 2410...2420上的存储器2413、2423中。在图18的系统中,麦克风信号处理单元2430可以作为到麦克风信号汇点2440的数据接口2450(例如,可以是本文公开的总线106的任何实施例)上的边缘处理器来操作。
图19是示出根据各种实施例的在运行时间期间应用校准系数的方法2500的图。在一些实施方式中,方法2500可以由图18的麦克风信号处理单元2430执行。在步骤2502,校准系数Kxy(τ),(x=1…n,y=1…m)由用于麦克风模块A1...Am 2410...2420的麦克风信号处理单元2430经由数据接口2510从存储器2413、2423中检索。在步骤2504,执行麦克风信号mxy(t)与各个校准系数Kxy的离散卷积(τ),以产生校准的麦克风信号nxy(t)。
其中x=1…n,y=1…m
在一些示例中,校准系数K被应用为FIR滤波器。在步骤2506,在麦克风信号处理单元2430中,用校准的麦克风信号nxy(t)替换原始麦克风信号mxy(t)。在一些示例中,原始麦克风信号被数据接口下的校准麦克风信号取代。在步骤2508,校准的麦克风信号nxy(t)被转发到数据接口2450上的麦克风接收器2440,以代替原始麦克风信号mxy(t),x=1…n,y=1…m。
图20是示出根据本公开的各种实施例的示例设置的图2600,其中可以使用根据本文公开的技术校准的麦克风模块。特别地,图20示出了包括主节点2602、第一子节点2604、第二子节点2606和第三子节点2606的车辆。主节点2602经由总线106连接到第一子节点2604;第一子节点2604经由总线106连接到第二子节点2606;并且第二子节点2606经由总线106连接到第三子节点2608。因此,如本文所述,主节点2602、第一子节点2604、第二子节点2606和第三子节点2608以菊花链配置连接。
在一些示例中,主节点2602是头单元。在一些示例中,来自第二子节点2606和第三子节点2608的数字音频信号被发送到第一子节点2604。在各种示例中,第一子节点2604、第二子节点2606和第三子节点2608中的任何子节点都可以包括音频处理节点。类似地,主节点2602可以包括音频处理节点。在各种示例中,音频处理节点可以是主节点、麦克风节点、放大器节点、紧急呼叫节点或许多其他类型的节点。尽管图20的设置是车辆,但是本文公开的系统和技术可以在任何合适的设置中使用。在一些实施例中,总线106可以包括双绞线(例如,非屏蔽双绞线)。
在一些实施例中,麦克风模块的校准可以不在生产时在工厂中进行,而是可以在麦克风安装在其预期设置中时进行。例如,图21是示出根据本公开的各种实施例的用于麦克风模块校准的方法2700的图,该方法可以由系统100执行以在麦克风模块的操作设置中校准麦克风模块。例如,方法2700可以在车辆中执行,例如图20所示的车辆。然而,根据需要,图21的校准过程可以由系统100在工厂设置而不是操作设置中执行。本文公开的技术中的任何适当的技术可以用于计算图21的过程的校准系数。
在步骤2702,发现并配置总线系统。总线系统可以是任何类型的总线系统,例如本文所述的总线系统。在步骤2704,从参考扬声器播放测试信号。在一些示例中,测试信号是线性调频信号。参考扬声器可以连接到总线系统。在一些示例中,参考扬声器不连接到总线系统,而是以其他方式连接到麦克风系统。在步骤2706,在施加测试信号的同时,对麦克风节点进行采样。此外,如果存在测量麦克风和/或参考麦克风,则在步骤2706,对测量麦克风和/或参考麦克风进行采样。在步骤2708,计算每个麦克风节点的校准系数以及任何其他校准数据。在步骤2710,每个麦克风节点的校准信息被存储在每个麦克风节点中。
图22是示出根据各种实施例的用于麦克风模块操作过程的方法2750的图。方法2750可以由系统100执行,以提取并使用由本文公开的任何麦克风模块校准技术生成的校准系数。在步骤2752,发现并配置总线系统。总线系统可以是任何类型的总线系统,例如本文所述的总线系统。在步骤2754,读取来自麦克风节点的预先存储的信息。在一些示例中,预存储的信息存储在每个麦克风节点处的非易失性存储器上,并且预存储信息可以包括校准信息以及通用麦克风信息,例如供应商、产品、型号、序列号、版本等。在步骤2756,校准信息被转发到包括音频信号处理器的节点。在步骤2758,来自麦克风的校准信息被应用于音频信号处理节点。在步骤2760,播放音频输出。音频输出可以是模拟或数字音频输出,并且可以输出到扬声器、放大器、电话或任何其他音频输出设备。
选择示例
示例1提供了一种用于麦克风模块校准的系统,包括:扬声器,被配置为播放测试信号;麦克风模块,所述麦克风模块被配置为接收所述测试信号并生成多个麦克风阵列信号;参考麦克风,所述参考麦克风定位在所述扬声器和所述麦克风模块之间,其中所述参考麦克风被配置为接收所述测试信号并生成参考信号;以及校准计算器,所述校准计算器被配置为处理所述多个麦克风阵列信号和所述参考信号,生成滤波器系数集合,并将所述滤波器系数集合发送到所述麦克风模块。
实施例2提供了根据前述和/或以下实施例中任一个的系统,进一步包括与所述麦克风阵列相关联的存储器,所述存储器被配置以存储所述滤波器系数集合。
实施例3提供了根据前述和/或以下实施例中任一个的系统,其中所述存储器被定位在具有所述麦克风阵列的麦克风阵列模块上。
实施例4提供了根据前述和/或以下实施例中任一个的系统,其中所述存储器是由所述麦克风阵列可访问的基于云的存储器。
实施例5提供了根据前述和/或以下实施例中任一个的系统,其中所述存储器还被配置为存储麦克风信息,所述麦克风信息包括供应商信息、产品信息、版本信息、型号信息、能力信息、序列号、制造商信息、配置信息、路由信息和认证信息中的至少一个。
实施例6提供了根据前述和/或以下实施例中任一个的系统,进一步包括多个存储器模块,其中所述多个存储器模件中的每一个与所述麦克风阵列的相应麦克风相关联。
示例7提供了根据前述和/或以下示例中任一个的系统,其中滤波器系数包括相位校准、频率校准和幅度校准。
实施例8提供了根据前述和/或以下实施例中任一个的系统,进一步包括双线接口,其中所述滤波器系数到所述麦克风阵列的传输发生在所述双线接口上。
实施例9提供了根据前述和/或以下实施例中任一个的系统,其中所述多个麦克风阵列信号中的每一个是唯一的,并且所述麦克风阵列的每一相应麦克风与所述滤波器系数集合的相应子集相关联。
实施例10提供了一种用于麦克风阵列校准的方法,包括:在扬声器处播放测试信号;在麦克风阵列处对所述测试信号进行采样;在所述麦克风阵列处产生多个麦克风阵列信号;在参考麦克风处对所述测试信号进行采样;在所述参考麦克风处产生参考信号;基于所述多个麦克风阵列信号和所述参考信号生成滤波器系数集合;将所述滤波器系数集合传输到所述麦克风阵列。
实施例11提供了根据前述和/或以下实施例中任一个的方法,其中在所述麦克风阵列处对所述测试信号进行采样包括在所述麦克风阵列的每个相应麦克风处对所述测试信号进行取样。
实施例12提供了根据前述和/或以下实施例中任一个的方法,其中生成滤波器系数集合包括为每个相应麦克风生成滤波器系数的相应子集。
实施例13提供了根据前述和/或以下实施例中任一个的方法,进一步包括在每个相应麦克风上存储滤波器系数的相应子集。
实施例14提供了根据前述和/或以下实施例中任一个的方法,进一步包括将所述滤波器系数集合存储在所述麦克风阵列上。
实施例15提供了根据前述和/或以下实施例中任一个的方法,其中传输所述滤波器系数集合包括通过双线总线传输所述滤波系数集合。
实施例16提供了根据前述和/或以下实施例中任一个的方法,进一步包括使用所述参考麦克风预校准所述扬声器。
实施例17提供了一种自校准麦克风系统,包括:麦克风模块,包括:麦克风,被配置为接收音频输入信号并输出原始麦克风输出信号,其中所述麦克风被预校准;非易失性存储器,被配置为存储用于所述麦克风的麦克风校准系数;处理器,被配置为接收所述原始麦克风信号和所述麦克风校准系数,并生成校准的麦克风信号;麦克风信号汇点,被配置为从所述处理器接收所述经校准的麦克风信号并输出所述经校正的麦克风信号。
示例18提供了根据前述和/或以下示例中任一个的系统,其中麦克风校准系数被配置用于相位校准、频率校准和幅度校准中的至少一个。
示例19提供了根据前述和/或以下示例中任一个的系统,其中,所述处理器还被配置为使用麦克风校准系数来对原始麦克风信号进行相位校准。
示例20提供了根据前述和/或以下示例中任一个的系统,还包括双线总线,其中处理器和麦克风信号汇点过双线总线进行通信。
示例21提供了根据前述和/或以下实施例中任一个的系统,其中所述处理器进一步被配置以执行所述原始麦克风信号与所述麦克风校准系数的卷积以产生所述经校准的麦克风信号.
示例22包括本文公开的任何相位和频率响应校准系统和技术。
示例23包括根据前述和/或以下示例中任一个的主题,并且还包括麦克风阵列本地的校准系数的存储。
示例24包括根据前述和/或以下示例中任一个的主题,并且还包括将校准系数集中应用于来自多个麦克风阵列的未校准麦克风数据。
示例25包括根据前述和/或以下示例中任一个的主题,并且还包括用校准的麦克风信号替换原始麦克风信号。
示例26包括根据前述和/或以下示例中任一示例的主题,并且进一步规定麦克风阵列是本文公开的任何双线通信系统中的外围设备。
示例27提供了根据前述和/或以下示例中任一个的方法,其中麦克风阵列包括单个麦克风。
示例28提供了根据前述和/或以下示例中任一个的系统,其中麦克风阵列包括单个麦克风。
实例29提供了根据前述和/或以下实例中任一者的系统,其进一步包括双线总线,其中所述存储器位于网络总线子节点上。
变更和实施
如此描述了本申请技术的几个方面和实施例,应当理解的是,本领域普通技术人员将容易发生各种改变、修改和改进。这些改变、修改、改进旨在落入本申请中描述的技术的精神和范围内。例如,本领域普通技术人员将容易地设想用于执行本文所述的功能和/或获得结果和/或一个或多个优点的各种其他手段和/或结构,并且这些变化和/或修改中的每一个都被认为在本文所述实施例的范围内。
本领域技术人员将认识到,或能够使用不多于常规实验来确定,与本文所述的具体实施例有许多等效物。因此,应当理解,前述实施例仅通过示例的方式呈现,并且在所附权利要求及其等同物的范围内,除了具体描述之外,可以实践本发明的实施例。此外,本文所述的两个或多个特征、系统、物品、材料、试剂盒和/或方法的任何组合,如果这些特征、系统,物品、材料,试剂盒和/或方法不相互矛盾,则包括在本公开的范围内。
前述概述了本文公开的主题的一个或多个实施例的特征。提供这些实施例是为了使本领域普通技术人员(PHOSITA)能够更好地理解本公开的各个方面。某些众所周知的术语以及底层技术和/或标准可以在没有详细描述的情况下被引用。预计PHOSITA将拥有或能够访问那些足以实践本公开的教导的技术和标准中的背景知识或信息。
PHOSITA将意识到,他们可以容易地将本公开用作设计或修改其他工艺、结构或变体的基础,以实现此处引入的实施例的相同目的和/或实现相同优点。PHOSITA还将认识到,这样的等效构造不脱离本公开的精神和范围,并且在不脱离本披露的精神和范畴的情况下,它们可以在本文中进行各种改变、替换和变更。
上述实施例可以以多种方式中的任何方式来实现。涉及过程或方法的性能的本申请的一个或多个方面和实施例可以利用可由设备(例如,计算机、处理器或其他设备)执行的程序指令来执行或控制过程或方法。
在这方面,各种发明概念可以体现为用一个或多个编码的计算机可读存储介质(或多个计算机可读存储媒体)(例如,计算机存储器、一个或更多软盘、光盘、磁带、闪存、现场可编程门阵列或其他半导体器件中的电路配置、或其他有形计算机存储介质),当在一个或更多个计算机或其他处理器上执行时,该一个或一个以上程序执行实现上述各种实施例中的一个或更多个的方法。
一个或多个计算机可读介质可以是可传送的,使得存储在其上的程序可以被加载到一个或更多个不同的计算机或其他处理器上,以实现上述各个方面。在一些实施例中,计算机可读介质可以是非瞬态介质。
注意,上面参考图讨论的活动适用于涉及信号处理(例如,手势信号处理、视频信号处理、音频信号处理、模数转换、数模转换)的任何集成电路,特别是那些可以执行专用软件程序或算法的集成电路,其中一些可以与处理数字化实时数据相关联。
在一些情况下,本公开的教导可以被编码到一个或多个有形的、非暂时性的计算机可读介质中,所述介质上存储有可执行指令,所述可执行指令在被执行时指示可编程设备(例如处理器或DSP)执行本文公开的方法或功能。在本文的教导至少部分地体现在硬件设备(例如ASIC、IP块或SoC)中的情况下,非瞬态介质可以包括用逻辑硬件编程以执行本文公开的方法或功能的硬件设备。本教导还可以以寄存器传输级(RTL)或诸如VHDL或Verilog的其他硬件描述语言的形式来实践,其可以用于对制造过程进行编程以产生所公开的硬件元件。
在示例实现中,本文概述的处理活动的至少一些部分也可以用软件来实现。在一些实施例中,这些特征中的一个或多个可以在所公开的附图的元件外部提供的硬件中实现,或者以任何适当的方式合并以实现预期的功能。各种组件可以包括软件(或往复式软件),其可以进行协调以实现本文所概述的操作。在其他实施例中,这些元件可以包括有助于其操作的任何合适的算法、硬件、软件、组件、模块、接口或对象。
任何适当配置的处理器组件都可以执行与数据相关联的任何类型的指令,以实现本文详述的操作。本文公开的任何处理器都可以将元素或物品(例如,数据)从一种状态或事物转换为另一状态或事物。在另一示例中,本文概述的一些活动可以用固定逻辑或可编程逻辑(例如,由处理器执行的软件和/或计算机指令)来实现,并且本文所标识的元件可以是某种类型的可编程处理器、可编程数字逻辑(例如,FPGA、可擦除可编程只读存储器(EPROM)、电可擦除可编程序只读存储器(EEPROM)),包括数字逻辑、软件、代码、电子指令、闪存、光盘、CD-ROM、DVD-ROM、磁卡或光卡的ASIC、适用于存储电子指令的其他类型的机器可读介质或其任何适当组合。
在操作中,处理器可以将信息存储在任何合适类型的非瞬态存储介质(例如,随机存取存储器(RAM)、只读存储器(ROM)、FPGA、EPROM、电可擦除可编程ROM(EEPROM)等)、软件、硬件中,或者在合适的情况下并基于特定需要存储在任何其他合适的组件、设备、元件或对象中。此外,基于特定的需要和实现,可以在任何数据库、寄存器、表、高速缓存、队列、控制列表或存储结构中提供在处理器中被跟踪、发送、接收或存储的信息,所有这些都可以在任何合适的时间内被引用。
本文讨论的任何记忆项目都应被解释为包含在广义的“记忆”中。类似地,本文中描述的任何潜在处理元件、模块和机器都应被解释为包含在广义的“微处理器”或“处理器”中。此外,在各种实施例中,本文描述的处理器、存储器、网卡、总线、存储设备、相关外围设备和其他硬件元件可以由处理器、存储器和其他相关设备来实现,这些处理器、存储器以及其他相关设备由软件或固件配置以仿真或虚拟化这些硬件元件的功能。
此外,应当理解,作为非限制性示例,计算机可以以多种形式中的任何形式体现,例如机架安装计算机、台式计算机、膝上型计算机或平板计算机。此外,计算机可以嵌入通常不被视为计算机但具有适当处理能力的设备中,包括个人数字助理(PDA)、智能电话、移动电话、iPad或任何其他适当的便携式或固定电子设备。
此外,计算机可以具有一个或多个输入和输出设备。除其他外,这些设备可以用于呈现用户界面。可用于提供用户界面的输出设备的示例包括用于输出的视觉呈现的打印机或显示屏以及用于输出的可听呈现的扬声器或其他声音产生设备。可以用于用户界面的输入设备的示例包括键盘和指示设备,例如鼠标、触摸板和数字化平板电脑。作为另一个例子,计算机可以通过语音识别或以其他可听格式接收输入信息。
这样的计算机可以通过任何合适形式的一个或多个网络互连,包括局域网或广域网,例如企业网络,以及智能网(in)或互联网。这样的网络可以基于任何合适的技术,并且可以根据任何合适的协议操作,并且可以包括无线网络或有线网络。
计算机可执行指令可以是由一个或多个计算机或其他设备执行的多种形式,例如程序模块。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。通常,在各种实施例中,程序模块的功能可以根据需要进行组合或分布。
术语“程序”或“软件”在本文中以一般意义用于指代可用于对计算机或其他处理器进行编程以实现如上所述的各个方面的任何类型的计算机代码或计算机可执行指令集。此外,应当理解,根据一个方面,当执行时执行本申请的方法的一个或多个计算机程序不需要驻留在单个计算机或处理器上,而是可以以模块化方式分布在多个不同的计算机或处理器之间,以实现本申请的各个方面。
此外,数据结构可以以任何合适的形式存储在计算机可读介质中。为了便于说明,数据结构可显示为具有通过数据结构中的位置相关的字段。这样的关系同样可以通过在计算机可读介质中为字段分配具有传达字段之间关系的位置的存储来实现。然而,任何合适的机制都可以用于建立数据结构的字段中的信息之间的关系,包括通过使用指针、标签或建立数据元素之间关系的其他机制。
当以软件实现时,软件代码可以在任何合适的处理器或处理器集合上执行,无论是在单个计算机中提供还是分布在多个计算机之间。
实现本文所描述的全部或部分功能的计算机程序逻辑以各种形式体现,包括但不限于源代码形式、计算机可执行形式、硬件描述形式和各种中间形式(例如,掩码作品或由汇编程序、编译器、链接器或定位器生成的形式)。在一个示例中,源代码包括以各种编程语言实现的一系列计算机程序指令,所述各种编程语言例如是目标代码、汇编语言或高级语言,例如OpenCL、RTL、Verilog、VHDL、Fortran、C、C++、JAVA或HTML,用于各种操作系统或操作环境。源代码可以定义并使用各种数据结构和通信消息。源代码可以是计算机可执行的形式(例如,经由解释器),或者源代码可以被转换(例如,通过翻译器、汇编程序或编译器)为计算机可执行形式。
在一些实施例中,图中的任意数量的电路可以在相关联的电子设备的板上实现。该板可以是通用电路板,该通用电路板可以容纳电子设备的内部电子系统的各种组件,并且进一步提供用于其他外围设备的连接器。更具体地,板可以提供电连接,通过该电连接,系统的其他组件可以电通信。任何合适的处理器(包括数字信号处理器、微处理器、支持芯片组等)、存储器元件等都可以基于特定的配置需求、处理需求、计算机设计等适当地耦合到板上。
其他组件,如外部存储器、附加传感器、音频/视频显示控制器和外围设备,可以通过电缆作为插卡连接到板上,或者集成到板本身中。在另一示例实施例中,图中的电路可以被实现为独立模块(例如,具有被配置为执行特定应用或功能的相关组件和电路的设备),或者被实现为电子设备的特定应用硬件中的插件模块。
注意,在本文提供的众多示例中,可以根据两个、三个、四个或更多个电组件来描述相互作用。然而,这样做只是为了清楚和举例。应当理解,该系统可以以任何合适的方式进行合并。沿着类似的设计备选方案,图中所示的组件、模块和元件中的任何一个都可以组合成各种可能的配置,所有这些都清楚地在本公开的广泛范围内。
在某些情况下,通过仅参考有限数量的电气元件来描述给定流集合的一个或多个功能可能更容易。应当理解,图及其教导的电路是容易扩展的,并且可以容纳大量的部件以及更复杂/复杂的布置和配置。因此,所提供的示例不应限制电路的范围或抑制电路的广泛教导,因为电路可能应用于无数其他架构。
此外,如所描述的,一些方面可以体现为一个或多个方法。作为方法的一部分执行的动作可以以任何合适的方式进行排序。因此,可以构造其中以不同于图示的顺序执行动作的实施例,这可以包括同时执行一些动作,即使在图示的实施例中被示为顺序动作。
术语解释
本文定义和使用的所有定义应理解为控制字典定义、通过引用并入的文件中的定义和/或定义术语的普通含义。除非上下文另有明确要求,否则在整个说明书和权利要求书中:
“包括”、“包含”等应以包容性的含义进行解释,而不是排他性或详尽的含义;也就是说,在“包括但不限于”的意义上。
“连接的”、“耦合的”或其任何变体,是指两个或多个元件之间的任何直接或间接连接或耦合;元件之间的耦合或连接可以是物理的、逻辑的或其组合。
“此处”、“上面”、“下面”以及具有类似含义的词语在用于描述本规范时应指本规范的整体,而不是本规范的任何特定部分。
“或”指的是两个或两个以上项目的列表,涵盖了对该词的所有以下解释:列表中的任何项目、列表中的所有项目以及列表中项目的任何组合。
单数形式“一个”、“一”和“该”也包括任何适当复数形式的含义。
表示方向的单词,如“垂直”、“横向”、“水平”、“向上”、“向下”、“向前”、“向后”、“向内”、“向外”、“垂直”,“横向”,“左”、“右”、“前”、“后”、“顶”、“下”、“下方”、“上方”、“下面”等,在本说明书和任何随附权利要求(如果存在)中使用的装置取决于所描述和图示的装置的特定方位。本文所描述的主题可以采用各种替代的取向。因此,这些方向性术语的定义并不严格,不应作狭义解释。
说明书和权利要求书中使用的不定冠词“一个”和“一些”,除非明确指出相反,否则应理解为“至少一个”。
说明书和权利要求书中使用的短语“和/或”应理解为这样结合的元素中的“一个或两个”,即在某些情况下结合存在而在其他情况下分离存在的元素。以“和/或”列出的多个元素应以相同的方式解释,即“一个或多个”这样结合的元素。
除了由“和/或”条款明确标识的元素之外,还可以选择性地存在其他元素,无论这些元素与具体标识的元素是相关的还是无关的。因此,作为非限制性示例,在一个实施例中,当与诸如“包含”之类的开放式语言结合使用时,对“A和/或B”的引用可以仅指A(可选地包括除B以外的元素);在另一个实施方案中仅指B(可选地包括除A以外的元素);在又一个实施方案中指A和B(可选地包括其它元件);等等。
如本文在说明书和权利要求中所使用的,短语“至少一个”在引用一个或多个元素的列表时应理解为指从元素列表中的任何一个或更多个元素中选择的至少一个元素,但不一定包括在元素列表内具体列出的每个元素中的至少一个,并且不排除元素列表中的元素的任何组合。该定义还允许除了短语“至少一个”所指的元素列表中具体标识的元素之外,元素可以可选地存在,无论是与具体标识的那些元素相关还是无关。
因此,作为非限制性示例,在一个实施方案中,“A和B中的至少一个”(或等效地,“A或B中的最少一个”,或等效地“A和/或B中至少一个“)可以指至少一个,任选地包括多于一个,A,不存在B(并且任选地包括除B以外的元素);在另一个实施方案中,指至少一个,任选地包括多于一个,B,不存在A(并且任选地包括除A以外的元素);在又一个实施方案中,指至少一个,任选地包括多于一个,A,和至少一个(任选地包括大于一个,B)(并且任选地包括其它元素);等等。
如本文所用,除非另有说明,否则术语“介于”应包括在内。例如,“介于A和B之间”包括A和B,除非另有说明。
此外,本文使用的措辞和术语是为了描述的目的,不应被视为限制性的。本文中“包括”、“包含”或“具有”、“含有”、“涉及”及其变体的使用旨在涵盖下文列出的项目及其等价物以及其他项目。
在权利要求书以及上述说明书中,所有过渡短语,如“包含”、“包括”、“携带”、“具有”、“含有”、“涉及”、“持有”、“由…组成”等,都应理解为开放式的,即意味着包括但不限于。只有过渡短语“由组成”和“本质上由组成”应分别是封闭或半封闭过渡短语。
本领域技术人员可以确定许多其他的改变、替换、变化和修改,并且本公开旨在包括落入所附权利要求范围内的所有这样的改变、替代、变化和修改。
为了协助美国专利商标局(USPTO)以及根据本申请发布的任何专利的任何读者解释本申请所附的权利要求,申请人希望注意到,申请人:(a)不打算援引本申请提交之日存在的任何附加权利要求35U.S.C.§112(f),除非在特定权利要求中特别使用了“手段”或“步骤”;以及(b)不打算通过本公开中的任何陈述以未以其他方式反映在所附权利要求中的任何方式限制本公开。
因此,本发明不应被认为局限于上述特定实施例。在回顾本公开内容后,本发明所针对的本领域的技术人员将容易明白本发明可应用的各种修改、等效工艺以及许多结构。
Claims (20)
1.一种用于麦克风校准的系统,包括:
扬声器,被配置为播放测试信号;
麦克风阵列,被配置为接收所述测试信号并生成多个麦克风阵列信号;
参考麦克风,定位在所述扬声器和所述麦克风阵列之间,其中所述参考麦克风被配置为接收所述测试信号并生成参考信号;和
校准计算器,被配置为处理所述多个麦克风阵列信号和所述参考信号,生成滤波器系数集合,并将所述滤波器系数集合发送到所述麦克风阵列。
2.根据权利要求1所述的系统,进一步包括与所述麦克风阵列相关联的存储器,所述存储器被配置以存储所述滤波器系数集合。
3.根据权利要求2所述的系统,其中所述存储器被定位在具有所述麦克风阵列的麦克风阵列模块上。
4.根据权利要求2所述的系统,其中所述存储器是由所述麦克风阵列可访问的基于云的存储器。
5.根据权利要求2至4中任一项所述的系统,其中所述存储器还被配置为存储麦克风信息,所述麦克风信息包括供应商信息、产品信息、版本信息、型号信息、能力信息、序列号、制造商信息、配置信息、路由信息和认证信息中的至少一个。
6.根据前述权利要求中任一项所述的系统,还包括多个存储器模块,其中所述多个存储器模件中的每一个与所述麦克风阵列的相应麦克风相关联。
7.根据前述权利要求中任一项所述的系统,其中所述滤波器系数提供相位校准和幅度校准。
8.根据前述权利要求中任一项所述的系统,还包括双线接口,其中所述滤波器系数到所述麦克风阵列的传输发生在所述双线接口上。
9.根据前述权利要求中任一项所述的系统,其中所述多个麦克风阵列信号中的每一个是唯一的,并且所述麦克风阵列的每一相应麦克风与所述滤波器系数集合的相应子集相关联。
10.一种用于麦克风阵列校准的方法,包括:
在扬声器处播放测试信号;
在麦克风阵列处对所述测试信号进行采样;
在所述麦克风阵列处产生多个麦克风阵列信号;
在参考麦克风处对所述测试信号进行采样;
在所述参考麦克风处产生参考信号;
基于所述多个麦克风阵列信号和所述参考信号生成滤波器系数集合;和
将所述滤波器系数集合传输到所述麦克风阵列。
11.根据权利要求10所述的方法,其中在所述麦克风阵列处对所述测试信号进行采样包括在所述麦克风阵列的每个相应麦克风处对所述测试信号进行取样。
12.根据权利要求10或11所述的方法,其中生成滤波器系数集合包括为每个相应麦克风生成滤波器系数的相应子集。
13.根据权利要求12所述的方法,还包括在每个相应麦克风上存储滤波器系数的相应子集。
14.根据权利要求10至13中任一项所述的方法,还包括将所述滤波器系数集合存储在所述麦克风阵列上。
15.根据要求权利要求10至14中任一项所述的方法,其中传输所述滤波器系数集合包括通过双线总线传输所述滤波系数集合。
16.根据权利要求10至15中任一项所述的方法,还包括使用所述参考麦克风预校准所述扬声器。
17.一种自校准麦克风系统,包括:
麦克风模块,包括:
麦克风,被配置为接收音频输入信号并输出原始麦克风输出信号,其中所述麦克风被预校准;和
非易失性存储器,被配置为存储所述麦克风的麦克风校准系数;
处理器,被配置为接收所述原始麦克风信号和所述麦克风校准系数,并生成校准的麦克风信号;和
麦克风信号汇点,被配置为从所述处理器接收所述经校准的麦克风信号并输出所述经校正的麦克风信号。
18.根据权利要求17所述的麦克风系统,其中所述麦克风校准系数被配置用于相位校准和幅度校准。
19.根据权利要求17或18所述的麦克风系统,还包括双线总线,其中所述处理器和所述麦克风信号汇点通过所述双线总线进行通信。
20.根据权利要求17至19中任一项所述的麦克风系统,其中所述处理器进一步被配置以执行所述原始麦克风信号与所述麦克风校准系数的卷积以产生所述经校准的麦克风信号。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063112967P | 2020-11-12 | 2020-11-12 | |
US63/112,967 | 2020-11-12 | ||
PCT/EP2021/081514 WO2022101407A1 (en) | 2020-11-12 | 2021-11-12 | Systems and techniques for microphone array calibration |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116711328A true CN116711328A (zh) | 2023-09-05 |
Family
ID=78770609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180090309.2A Pending CN116711328A (zh) | 2020-11-12 | 2021-11-12 | 麦克风阵列校准的系统与技术 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230421950A1 (zh) |
JP (1) | JP2023549799A (zh) |
CN (1) | CN116711328A (zh) |
DE (1) | DE112021005897T5 (zh) |
WO (1) | WO2022101407A1 (zh) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7809145B2 (en) * | 2006-05-04 | 2010-10-05 | Sony Computer Entertainment Inc. | Ultra small microphone array |
US9241228B2 (en) * | 2011-12-29 | 2016-01-19 | Stmicroelectronics Asia Pacific Pte. Ltd. | Adaptive self-calibration of small microphone array by soundfield approximation and frequency domain magnitude equalization |
-
2021
- 2021-11-12 JP JP2023528315A patent/JP2023549799A/ja active Pending
- 2021-11-12 CN CN202180090309.2A patent/CN116711328A/zh active Pending
- 2021-11-12 WO PCT/EP2021/081514 patent/WO2022101407A1/en active Application Filing
- 2021-11-12 DE DE112021005897.5T patent/DE112021005897T5/de active Pending
- 2021-11-12 US US18/036,824 patent/US20230421950A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022101407A1 (en) | 2022-05-19 |
DE112021005897T5 (de) | 2023-08-31 |
US20230421950A1 (en) | 2023-12-28 |
JP2023549799A (ja) | 2023-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9851938B2 (en) | Microphone arrays and communication systems for directional reception | |
KR102535076B1 (ko) | 원격 버스 활성화를 위한 시스템들 및 기술들 | |
US9946679B2 (en) | Distributed audio coordination over a two-wire communication bus | |
US10649945B1 (en) | Non-native digital interface support over a two-wire communication bus | |
KR101932686B1 (ko) | 다중 노드 데이지-체인 네트워크 상에서 gpio 대 gpio 통신 | |
CN110347627B (zh) | 动态迟滞电路 | |
US11411607B2 (en) | Audio and lighting control via a communication bus | |
US10856199B2 (en) | Communication systems with auxiliary master and auxiliary call support functionality | |
CN113507404B (zh) | 通信系统中适应性利用多个电源的设备及方法 | |
US20230396504A1 (en) | Node discovery and configuration in a daisy-chained network | |
KR20200130140A (ko) | 직렬 주변장치 인터페이스 기능을 가진 통신 시스템 | |
US20230344673A1 (en) | Asynchronous data networking over a network bus | |
US20230375610A1 (en) | Systems and techniques for line diagnostics | |
US20230421950A1 (en) | Systems and techniques for microphone array calibration | |
US20230370311A1 (en) | Auxiliary communication over a pulse density modulated interface | |
US20240004825A1 (en) | Serial daisy-chained bus power for serial daisy-chained communication system | |
US20240004446A1 (en) | Synchronous audio communication and bus power over multi-pair cables and connectors |
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 |