CN107395303B - 数字信号路由电路 - Google Patents
数字信号路由电路 Download PDFInfo
- Publication number
- CN107395303B CN107395303B CN201710301797.2A CN201710301797A CN107395303B CN 107395303 B CN107395303 B CN 107395303B CN 201710301797 A CN201710301797 A CN 201710301797A CN 107395303 B CN107395303 B CN 107395303B
- Authority
- CN
- China
- Prior art keywords
- data
- signal
- clock
- audio data
- source
- 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.)
- Expired - Fee Related
Links
- 239000000872 buffer Substances 0.000 claims abstract description 203
- 238000000034 method Methods 0.000 claims abstract description 133
- 230000008569 process Effects 0.000 claims abstract description 88
- 238000005070 sampling Methods 0.000 claims description 194
- 238000012545 processing Methods 0.000 claims description 104
- 230000006870 function Effects 0.000 claims description 45
- 238000004891 communication Methods 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 description 104
- 238000010586 diagram Methods 0.000 description 77
- 230000005236 sound signal Effects 0.000 description 17
- 235000019800 disodium phosphate Nutrition 0.000 description 14
- 238000003860 storage Methods 0.000 description 10
- 230000010411 postconditioning Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 7
- 230000006835 compression Effects 0.000 description 7
- 238000007906 compression Methods 0.000 description 7
- 238000009826 distribution Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 239000000203 mixture Substances 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 239000007787 solid Substances 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000000630 rising effect Effects 0.000 description 5
- 101000885321 Homo sapiens Serine/threonine-protein kinase DCLK1 Proteins 0.000 description 4
- 102100039758 Serine/threonine-protein kinase DCLK1 Human genes 0.000 description 4
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 229910052710 silicon Inorganic materials 0.000 description 4
- 239000010703 silicon Substances 0.000 description 4
- 101150115013 DSP1 gene Proteins 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000003750 conditioning effect Effects 0.000 description 3
- 239000013078 crystal Substances 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 239000010432 diamond Substances 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000003032 molecular docking Methods 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 239000010755 BS 2869 Class G Substances 0.000 description 1
- 101001048843 Homo sapiens Protein FAM163A Proteins 0.000 description 1
- 102100023773 Protein FAM163A Human genes 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000000113 differential scanning calorimetry Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
Images
Classifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/60—Substation equipment, e.g. for use by subscribers including speech amplifiers
- H04M1/6025—Substation equipment, e.g. for use by subscribers including speech amplifiers implemented as integrated speech networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H60/00—Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
- H04H60/02—Arrangements for generating broadcast information; Arrangements for generating broadcast-related information with a direct linking to broadcast information or to broadcast space-time; Arrangements for simultaneous generation of broadcast information and broadcast-related information
- H04H60/04—Studio equipment; Interconnection of studios
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72442—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for playing music files
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Electronic Switches (AREA)
- Telephone Function (AREA)
- Time-Division Multiplex Systems (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Semiconductor Integrated Circuits (AREA)
- Circuit For Audible Band Transducer (AREA)
Abstract
本发明提供了一种集成电路,包括可配置为处理音频数据样本流的数字混合核,所述数字混合核包括混合构件,所述混合构件包括:混合器;至少第一源数据缓冲器和第二源数据缓冲器;至少第一目的地数据缓冲器(Z1/Z2);所述混合构件可配置为重复地建立至少一个信号路径。本发明的集成电路用于将消费者设备中的多个信号源和信号目的地互连。
Description
本申请为申请日为2012年5月25日、申请号为201280037167.4、名称为“数字信号路由电路”的发明专利申请的分案申请。
技术领域
本发明涉及信号路由电路,尤其是能够被用作数字音频集线器的信号路由电路,用于将消费者设备(其中智能电话只是一个例子)中的多个信号源和信号目的地互连。
背景技术
已知提供充当“音频集线器”的集成电路,它能够从模拟源和数字源接收若干信号,将模拟信号转换成数字信号,然后在数字域中组合或处理该信号,以生成输出信号。如果要求,则该输出信号可以被音频集线器转换成模拟信号,以被施加至模拟换能器(诸如耳机 (headphone)或扬声器(speaker))。这样的数字音频集线器设备可以被纳入消费者设备(诸如智能电话或类似物),从而允许接收到的信号被以预定方式处理。
期望的是,允许该“音频集线器”集成电路的消费者使用它来以灵活方式将消费者设备内的若干不同信号处理部件互连,而不受限于特定外部设备或特定处理路径。
发明内容
根据本发明的一方面,提供了一种集成电路,包括可配置为处理音频数据样本流的数字混合核,所述数字混合核包括混合构件,所述混合构件包括:
混合器,所述混合器包括乘累加器,所述乘累加器包括乘累加器输入和乘累加器输出;
至少第一源数据缓冲器和第二源数据缓冲器(A1/A2和B1/B2),每个相应地可配置为重复地接收相应的至少第一音频数据样本和第二音频数据样本(A和B),并且重复地存储所述相应的至少第一音频数据样本和第二音频数据样本;
至少第一目的地数据缓冲器(Z1/Z2),可配置为重复地存储相应的至少第三音频数据样本,并且重复地发送所述至少第三音频数据样本(Z);
所述混合构件可配置为通过以下方式重复地建立至少一个信号路径:
在一个采样时钟(SCK)的一个周期(T1)内接收第一音频数据样本(处理A);
将所述第一音频数据样本存储在第一数据源缓冲器(A1/A2)中长达所述周期(T1)的剩余部分以及长达所述采样时钟(SCK)的整个下一个周期(T2);
在所述周期(T1)内接收至少一个第二音频数据样本(处理B);
将该第二音频数据样本或每个第二音频数据样本存储在相应的第二数据源缓冲器(B1/B2)中长达所述周期(T1)的剩余部分以及长达整个所述下一个周期(T2);
在所述下一个周期(T2)内取得所述所存储的第一音频数据样本;
将所述第一音频数据样本乘以第一乘法系数,从而在所述下一个周期(T2)内生成第一部分总和;
在所述下一个周期(T2)内临时存储所述第一部分总和;
在所述下一个周期(T2)内取得所述所存储的至少一个第二音频数据样本;
将该第二音频数据样本或每个第二音频数据样本乘以相应的第二乘法系数,由此在所述下一个周期(T2)内生成至少一个相应的第二部分总和;
将所述第一部分总和与所述至少一个第二部分总和相加,以在所述下一个周期(T2)内生成第三音频数据样本;以及
将所述第三音频数据样本存储在数据目的地缓冲器(Z1/Z2)中长达所述下一个周期(T2)的剩余部分以及长达接下来的下一个周期(T3) 的持续时间。
根据本发明的集成电路,还包括至少一个输入,该至少一个输入具有与之关联的源数据缓冲器。
根据本发明的集成电路,还包括至少一个输出,该至少一个输出具有与之关联的目的地数据缓冲器。
根据本发明的集成电路,还包括至少一个信号处理块,该至少一个信号处理块具有与之关联的源数据缓冲器和目的地数据缓冲器。
根据本发明的集成电路,包括至少一个完全可编程的信号处理块。
根据本发明的集成电路,包括至少一个部分可编程的信号处理块。
根据本发明的集成电路,包括用于执行一个特定功能的至少一个信号处理块,该至少一个信号处理块具有至少一个可控制的参数。
根据本发明的集成电路,还包括:
源选择器,包括至少第一源选择器输入和第二源选择器输入,以及一个源选择器输出,所述至少第一源选择器输入和第二源选择器输入被连接到相应的至少第一源数据缓冲器和第二源数据缓冲器,并且所述源选择器输出被连接到所述乘累加器输入,所述源选择器可配置为重复地将所述至少第一源数据缓冲器和第二源数据缓冲器中的任何一个耦合到所述源选择器输出;以及
目的地选择器,包括一目的地选择器输入以及至少一个目的地选择器输出,所述目的地选择器输入被连接到所述乘累加器输出,并且所述至少一个目的地选择器输出被连接到相应的所述至少一个目的地数据缓冲器,所述目的地选择器可配置为重复地将所述目的地选择器输入耦合到所述至少第一目的地数据缓冲器。
根据本发明的集成电路,还包括控制器,该控制器用于限定该信号路径或每个信号路径的第一数据源缓冲器和第二数据源缓冲器以及数据目的地缓冲器。
根据本发明的集成电路,其中该控制器被配置为限定该信号路径或每个信号路径的第一乘法系数和第二乘法系数。
根据本发明的集成电路,其中该混合构件可配置为建立多个所述信号路径。
根据本发明的集成电路,其中该混合构件可配置为建立具有不同的相应采样时钟周期的多个所述信号路径。
根据本发明的集成电路,其中该混合器包括在乘累加器输入与乘累加器输出之间的旁路路径。
根据本发明的集成电路,其中该混合构件包括多个所述混合器,这些混合器具有相应的乘累加器,每个相应的乘累加器输入可连接到源数据缓冲器中的任何一个,并且每个相应的乘累加器输出可连接到所述目的地数据缓冲器中的一相应的子组。
根据本发明的集成电路,其中该混合构件包括多个所述混合器,这些混合器具有相应的乘累加器,每个相应的乘累加器输入可连接到所述源数据缓冲器中的任何一个,并且每个相应的乘累加器输出可连接到所述目的地数据缓冲器中的任何一个。
根据本发明的另一方面,提供了一种电子设备,包括上面所述的集成电路。
根据本发明的另一方面,提供了一种通信设备,包括上面所述的集成电路。
根据本发明的另一方面,提供了一种处理音频数据样本流的方法,所述方法包括重复地执行如下步骤:
在一个采样时钟(SCK)的一个周期(T1)内接收第一音频数据样本(处理A);
将所述第一音频数据样本存储在第一数据源缓冲器(A1/A2)中长达所述周期(T1)的剩余部分以及长达所述采样时钟(SCK)的整个下一个周期(T2);
在所述周期(T1)内接收至少一个第二音频数据样本(处理B);
将该第二音频数据样本或每个第二音频数据样本存储在相应的第二数据源缓冲器(B1/B2)中长达所述周期(T1)的剩余部分以及长达整个所述下一个周期(T2);
在所述下一个周期(T2)内取得所述所存储的第一音频数据样本;
将所述第一音频数据样本乘以第一乘法系数,从而在所述下一个周期(T2)内生成第一部分总和;
在所述下一个周期(T2)内临时存储所述第一部分总和;
在所述下一个周期(T2)内取得所述所存储的至少一个第二音频数据样本;
将该第二音频数据样本或每个第二音频数据样本乘以相应的第二乘法系数,由此在所述下一个周期(T2)内生成至少一个相应的第二部分总和;
将所述第一部分总和与所述至少一个第二部分总和相加,以在所述下一个周期(T2)内生成第三音频数据样本;以及
将所述第三音频数据样本存储在一数据目的地缓冲器(Z1/Z2)中长达所述下一个周期(T2)的剩余部分以及长达接下来的下一个周期 (T3)的持续时间。
根据本发明的方法,还包括重复地执行如下步骤:
在该采样时钟(SCK)的所述周期(T1)内接收第四音频数据样本(处理C);
将所述第四音频数据样本存储在第三数据源缓冲器(C1/C2)中长达所述周期(T1)的剩余部分以及长达所述采样时钟(SCK)的整个下一个周期(T2);
在所述周期(T1)内接收至少一个第五音频数据样本(处理D);
将该第五音频数据样本或每个第五音频数据样本存储在相应的第四数据源缓冲器(B1/B2)中长达所述周期(T1)的剩余部分以及长达整个所述下一个周期(T2);
在所述下一个周期(T2)内取得所述所存储的第四音频数据样本;
将所述第四音频数据样本乘以第三乘法系数,从而在所述下一个周期(T2)内生成第三部分总和;
在所述下一个周期(T2)内临时存储所述第三部分总和;
在所述下一个周期(T2)内取得所述所存储的至少一个第五音频数据样本;
将该第五音频数据样本或每个第五音频数据样本乘以相应的第四乘法系数,由此在所述下一个周期(T2)内生成至少一个相应的第四部分总和;
将所述第三部分总和与所述至少一个第四部分总和相加,以在所述下一个周期(T2)内生成第六音频数据样本;
将所述第六音频数据样本存储在数据目的地缓冲器(Y1/Y2)中长达所述下一个周期(T2)的剩余部分以及长达所述接下来的下一个周期(T3)的持续时间。
根据本发明的方法,其中每个数据源缓冲器与相应的音频输入或信号处理块关联。
根据本发明的方法,其中每个数据目的地缓冲器与相应的音频输出或信号处理块关联。
根据本发明的另一方面,提供了一种集成电路,包括:
数字混合核,可配置为组合多个音频数据样本流,所述数字混合核包括:
多个数字信号处理块,其中所述数字信号处理块中的每一个包括一源端口和一目的地端口,所述数字信号处理块中的每一个可配置为:在所述目的地端口以一相应的采样时钟率接收音频数据样本流,处理接收到的音频数据样本流,并且从所述源端口以所述相应的采样时钟率发送已处理的音频数据样本流;
时钟生成器,可配置为生成至少一个数据时钟;以及
混合构件,所述混合构件包括:
混合器,包括乘累加器,所述乘累加器包括一乘累加器输入和一乘累加器输出,所述混合器可配置为响应于所述数据时钟来组合音频数据样本;
源选择器,包括多个源选择器输入和一源选择器输出,所述源选择器输出连接至所述乘累加器输入,
多个源缓冲器,所述源缓冲器中的每一个相应地连接在一所述源端口与一所述源选择器输入之间,每个源缓冲器可配置为临时存储一相应的所述所发送的音频数据样本流中的一个样本,
其中所述源选择器可配置为响应于源选择器控制信号来将所述相应的源缓冲器中的任何一个耦合至所述乘累加器输入;
目的地选择器,包括一目的地选择器输入和多个目的地选择器输出,所述目的地选择器输入连接至所述乘累加器输出,
多个目的地缓冲器,每个目的地缓冲器相应地连接在一所述目的地端口与一所述目的地选择器输出之间,每个目的地缓冲器可配置为临时存储一相应的所述组合的音频数据样本流中的一个样本,
其中所述目的地选择器可配置为响应于一目的地选择器控制信号来将所述相应的目的地缓冲器中的任何一个耦合至所述乘累加器输出;以及
可编程存储电路系统,可配置为存储多个配置数据组,所述多个配置数据组中的每一个分别限定一个信号路径,所述信号路径包括至
少两个源端口和一目的地端口;以及
控制器,耦合至所述可编程存储电路系统、所述源选择器和所述目的地选择器,所述控制器被配置为接收多个配置数据,并且利用源选择器控制信号来控制所述源选择器,利用目的地选择器控制信号来控制所述目的地选择器,以在相应的采样时钟的每个周期内,响应于所述数据时钟在时分复用的基础上建立多个相应的所述所限定的信号路径中的每一个。
根据本发明的集成电路,其中所述可编程存储电路系统可配置为存储第二多个配置数据组,所述第二多个配置数据组中的每一个相应地限定一信号路径,所述信号路径包括一个源端口和一目的地端口,并且其中,当信号路径包括一个源端口时,每个目的地缓冲器也可配置为临时存储相应的输出音频数据样本流的一个样本,该样本是从所述一个源端口接收到的音频数据样本流得出的。
根据本发明的集成电路,其中该可编程存储电路系统可配置为使得所述配置数据组中的每一个识别至少一个缩放因子,
所述乘累加器混合器可配置为将该接收到的音频数据样本或每个接收到的音频数据样本乘以相应的缩放因子。
根据本发明的集成电路,其中该集成电路还包括多个数字输入接口,提供另外多个相应的信号源端口。
根据本发明的集成电路,其中该集成电路还包括多个数字输出接口,提供另外多个相应的信号目的地端口。
根据本发明的集成电路,其中该控制器可配置为限定从所述数字输入接口之一经过该乘累加器到所述数字输出接口之一的一个直接信号路径。
根据本发明的集成电路,其中该可编程存储电路系统可配置为在多个配置数据组中的每一个中存储一相应的用于信号路径的数据采样率,所述信号路径的数据采样率能够彼此独立地配置。
根据本发明的集成电路,其中所述多个配置数据组中的每一个限定了一相应的采样率。
根据本发明的集成电路,其中每个信号路径的采样率能够独立地编程。
根据本发明的集成电路,其中该可编程存储电路系统可配置为在单个位置存储为至少一个信号处理块上的所有目的地端口限定了采样率的数据。
根据本发明的集成电路,其中该可编程存储电路系统可配置为存储指示了预定的多个可用采样时钟中的一个的数据。
根据本发明的集成电路,其中在相应的采样时钟的每个周期内能够建立的信号路径的数目比将所有信号源端口连接至所有信号目的地端口所要求的信号路径的数目小得多。
根据本发明的集成电路,其中所述控制器包括混合器利用预测器,用于识别每个所限定的信号路径,用于确定指定时间区间中针对每个所限定的信号路径待执行的计算的数目,以及用于设置数据时钟的频率以使得所述数目的计算能够在该指定时间区间中被执行。
根据本发明的集成电路,其中该控制器被适配为接收识别了多个可用的数据时钟率的输入,以及将该数据时钟的频率选择为这些可用的数据时钟率中使得所述数目的计算能够在该指定时间区间中被执行的最低的数据时钟率。
根据本发明的集成电路,其中该控制器被配置为使得,在相继的时间区间,由该源选择器控制信号和该目的地选择器控制信号建立的信号路径是在如下基础上确定的:该信号路径是以相应的数据采样率在一个时钟信号的一个周期结束之前具有最短时间的信号路径。
根据本发明的集成电路,包括寄存器,用于存储所激活的信号路径的细节,识别该信号源端口或每个信号源端口、识别所述信号目的地端口、以及识别每个所激活的信号路径的相应的数据采样率。
根据本发明的集成电路,包括与每个可用的数据采样率关联的向下计数器,用于维持以相应的数据采样率在一个时钟信号的一个周期结束之前的剩余时间的计数,并且包括逻辑电路,该逻辑电路用于选择以相应的数据采样率在一个时钟信号的一个周期结束之前具有最短时间的采样率。
根据本发明的集成电路,还包括用于选择具有所选择的采样率的信号路径之一的逻辑电路。
根据本发明的集成电路,还包括:
至少一个附加的信号处理块,被连接以接收数字输入信号并且提供数字输出信号,而不将所述信号传送经过该混合器。
根据本发明的集成电路,包括向下采样电路系统,用于与该附加的信号处理块并行地接收该附加的信号处理块的数字输入信号,并且用于在该向下采样电路系统包括的一个信号源端口提供经向下采样的数字输入信号。
根据本发明的集成电路,包括向上采样电路系统,该向上采样电路系统包括一个信号目的地端口,并且用于提供经向上采样的数字输出信号。
根据本发明的集成电路,其中该附加的信号处理块被连接以从多个第一信号处理块中的至少一个接收控制信号。
根据本发明的集成电路,其中该附加的信号处理块被配置为以至少384k样本/秒的采样率处理数字输入信号。
根据本发明的集成电路,其中所述附加的信号处理块包括滤波器电路系统,用于根据代表环境噪声的输入信号产生噪声消除信号。
根据本发明的集成电路,其中该时钟生成器被配置为生成处于相应不同频率的多个时钟信号;以及
其中该多个信号处理块中的每个信号处理块要求一个处于个优选频率的时钟信号;
还包括选择电路系统,被配置为使得所述信号处理块中的每个信号处理块都接收处于该优选频率的所述时钟信号。
根据本发明的集成电路,还包括逻辑电路,所述逻辑电路用于接收由所述信号处理块中的每一个生成的控制信号,并且用于只有当一个时钟信号具有一个或多个信号处理块的优选频率时,才允许分配该时钟信号。
根据本发明的集成电路,其中所述可编程存储电路系统还可配置为,在所述多个配置数据组中的每个配置数据组中存储一相应的缩放因子,来自每个源端口的数据样本应在组合以形成组合的音频数据样本之前被乘以该缩放因子。
根据本发明的另一方面,提供了一种通信设备,包括:根据上面所述的集成电路。
根据本发明的通信设备,还包括:
应用处理器;以及
通信处理器。
根据本发明的另一方面,提供了一种电子设备,包括:根据上面所述的集成电路。
根据本发明的另一方面,提供了一种集成电路,包括:
数字混合器核,可配置为将音频数据样本流进行混合,所述数字混合核包括:
多个数字信号处理块,每个数字信号处理块包括:
一个或多个源端口,可配置为以相应的采样时钟率发送相应的音频数据样本;以及
一个或多个目的地端口,可配置为以相应的采样时钟率接收相应的音频数据样本,
该数字混合核还包括:
混合器,包括乘累加块,所述乘累加块包括输入和输出,所述混合器可配置为响应于所接收的数据时钟来组合音频数据样本;
时钟生成器,可配置为生成至少所述数据时钟;
源选择器,可配置为将所述乘累加块输入耦合到所述一个或多个源端口中的任何一个;以及
目的地选择器,可配置为将所述乘累加块输出耦合到所述一个或多个目的端口中的任何一个;
其中所述源选择器和所述目的地选择器分别以所述数据时钟的频率依序可配置,以依次建立一组经过该混合器的信号路径,每个信号路径包括所述一个或多个目的地端口中的任何一个目的地端口和所述一个或多个源端口中的一个或多个源端口;以及
其中所述数据时钟的频率小于为每个目的地端口在每个相应的采样时钟的一个周期内建立包括每个源端口的信号路径所必要的频率。
根据本发明的集成电路,还包括控制块,用于配置该源选择器和该目的地选择器。
根据本发明的集成电路,还包括控制块,用于控制时钟生成器以在所述频率生成数据时钟。
根据本发明的集成电路,其中数据时钟频率是基于所限定的经过该混合器的信号路径的数目来控制的。
根据本发明的集成电路,其中数据时钟频率是基于所限定的经过该混合器的信号路径的相应的采样率来控制的。
根据本发明的集成电路,其中该控制块还控制被供给给该混合器的供给电压。
根据本发明的集成电路,其中被供给给该混合器的该供给电压是基于该数据时钟频率来控制的。
根据本发明的集成电路,其中该控制块包括混合器利用预测器,用于识别每个所限定的信号路径,用于估计该混合器待在指定时间区间中为每个所限定的信号路径执行的计算的数目,以及用于设置该数据时钟频率以使得所述数目的计算能够在该指定时间区间中被执行。
根据本发明的集成电路,其中该控制块被配置为接收识别了多个可用的时钟频率的输入,以及将被供给给该混合器的数据时钟频率选择为这些可用的数据时钟频率中被估计使得所述数目的计算能够在该指定时间区间中被执行的最低的数据时钟频率。
根据本发明的集成电路,其中该时钟生成器可配置为生成处于相应的不同频率的多个时钟信号;以及
其中该混合器是多个功能块之一,每个功能块要求一个处于一优选频率的时钟信号;
其中该集成电路还包括与每个功能块关联的选择电路系统,用于接收所述多个时钟信号,并且被配置为将处于该优选频率的时钟信号传送到关联的功能块。
根据本发明的集成电路,还包括逻辑电路,所述逻辑电路用于接收由所述信号处理块中的每一个生成的指示它们相应的优选频率的控制信号,并且用于只有当一个时钟信号具有一个或多个功能块的优选频率时,才允许分配该时钟信号。
根据本发明的集成电路,其中该时钟生成器包括用于生成处于第一频率的时钟信号的电路以及至少一个分频器,每个分频器用于生成处于如下频率的一相应的时钟信号,所述频率是该第一频率的一部分。
根据本发明的集成电路,该集成电路是音频编解码器形式,包括:
至少一个数字输入接口,用于从另一个集成电路接收数字信号,该数字输入接口具有一个或多个附加的源端口,该一个或多个附加的源端口可配置为以相应的采样时钟率发送相应的音频数据样本。
根据本发明的集成电路,该集成电路是音频编解码器形式,包括:
至少一个模拟输入接口,用于从另一个电路接收模拟信号,以及
模拟-数字转换器,该模拟-数字转换器具有一个或多个附加的源端口,该一个或多个附加的源端口可配置为以相应的采样时钟率发送相应的音频数据样本。
根据本发明的集成电路,该集成电路是音频编解码器形式,包括:
至少一个数字输出接口,用于向另一个集成电路传送数字信号,该数字输出接口具有一个或多个附加的目的地端口,该一个或多个附加的目的地端口可配置为以相应的采样时钟率接收相应的音频数据样本。
根据本发明的集成电路,该集成电路是音频编解码器形式,包括:
至少一个模拟输出接口,用于向另一个电路传送模拟信号,以及
数字-模拟转换器,该数字-模拟转换器具有一个或多个附加的目的地端口,该一个或多个附加的目的地端口可配置为以相应的采样时钟率接收相应的音频数据样本。
根据本发明的集成电路,其中由所述目的地端口之一以及所述源端口中的一个或多个的相应的采样率限定的每个信号路径的采样时钟率是相同的。
根据本发明的集成电路,其中由所述目的地端口之一以及所述源端口中的一个或多个的相应的采样率限定的每个信号路径的采样时钟率是由用户可配置的。
根据本发明的集成电路,其中每个信号路径的采样时钟率是由所述目的地端口之一的相应的采样率限定的。
根据本发明的另一方面,提供了一种电子设备,包括上面所述的集成电路。
根据本发明的另一方面,提供了一种集成电路,包括数字混合核,该数字混合核包括多个信号源和信号目的地以及至少一个混合器,该信号源和该信号目的地能够在时分复用的基础上连接到该至少一个混合器以建立信号路径,
其中每个信号目的地要求处于相应的预定采样率的数据,
其中该混合器或每个混合器以一个时钟频率运行,并且
其中:
在此:
mj是以第j个混合器时钟频率运行的混合器的数目,
CR,j是在使用的第j个混合器时钟频率,
SR,i是该系统中在使用的第i个采样率,
Ns,i是提供处于第i个采样率的数据的信号源的数目,并且
Nd,i是要求处于第i个采样率的数据的信号目的地的数目。
附图说明
为了更好地理解本发明,并且为了示出它如何可以实施,现在将以举例方式参考附图,其中:
图1示出了一个移动电话和多个外围设备;
图2a示出了图1的移动电话中的音频处理电路系统的部件;
图2b示出了一个替代的移动电话中的音频处理电路系统的部件;
图3是第一更详细的框图,示出了图2a或2b的音频处理电路系统中的音频集线器路由电路系统的形式;
图4是再更详细的框图,示出了图3的路由电路系统中的预调节 (pre-conditioning)电路系统的形式;
图5是进一步再更详细的框图,示出了图3的路由电路系统中的开关电路系统的形式;
图6是进一步再更详细的框图,示出了图3的路由电路系统中的开关电路系统的一个替代的形式;
图7是进一步再更详细的框图,示出了图3的路由电路系统中的向下采样(down-sampling)电路系统的形式;
图8是进一步再更详细的框图,示出了图3的路由电路系统中的向上采样(up-sampling)电路系统的形式;
图9是进一步再更详细的框图,示出了图3的路由电路系统中的后调节(post-conditioning)电路系统的形式;
图10是进一步再更详细的框图,示出了图3的路由电路系统中的数字混合核(digital mixing core)的形式;
图11更详细地示出了图10的数字混合核中的一个功能块的一部分;
图12更详细地示出了图10的数字混合核中的另一个功能块的一部分;
图13更详细地示出了图10的数字混合核中的又一个功能块的一部分;
图14是又一个框图,示出了图10的数字混合核,并且示出了多个功能块的更多细节;
图15是一个框图,例示了一个实施方案中的数字混合核的一个不同方面;
图16是一个框图,例示了另一个实施方案中的数字混合核的不同方面;
图17是一个框图,例示了又一个实施方案中的数字混合核的不同方面;
图18是一个框图,例示了再又一个实施方案中的数字混合核的不同方面;
图19是一个框图,例示了再又一个实施方案中的数字混合核的不同方面;
图20是一个框图,例示了一个实施方案中的数字混合核的一部分;
图21是一个框图,例示了另一个实施方案中的数字混合核的一部分;
图22是一个框图,例示了数字混合核中的一个乘-累加块 (multiply-accumulateblock)的一个形式;
图23是一个框图,更详细地例示了数字混合核中的乘-累加块的一个替代的形式;
图24是一个流程图,例示了混合器中执行的一个处理;
图25是图24中示出的处理的又一个例示;
图26是第一时序图,例示了图24的处理;
图27是第二时序图,例示了图26的处理的更多细节;
图28是第三时序图,例示了又一个替代的处理;
图29是第四时序图,例示了再又一个替代的处理;
图30是一个流程图,例示了限定开关电路系统的运行的一个方法;
图31是计算机截屏的一个示图,例示了图30的方法中的一个阶段;
图32是一个框图,示出了图30的处理限定的一个使用例(use case)中的路由;
图33是一个寄存器映射(map),例示了图30的处理中的寄存器库的初始状态;
图34是一个框图,提供了在图14的数字混合核上的图32的使用例中的路由的一个替代的例示;
图35是一个寄存器映射,例示了在图30的处理中的又一个点处寄存器库的一个状态;
图36是数字混合核的一个示图,示出了图32中示出的使用例中涉及的功能块;
图37a示出了又一个使用例中的一个路由;
图37b示出了再又一个使用例中的一个路由;
图38是一个时序图,例示了混合器中执行的一个处理中的第一系列计算;
图39是一个时序图,例示了混合器中执行的一个处理中的第二系列计算;
图40是一个时序图,例示了混合器中执行的一个处理中的第三系列计算;
图41是一个时序图,例示了混合器中执行的一个处理中的第四系列计算;
图42是一个时序图,例示了混合器中执行的一个处理中的第五系列计算;
图43是一个框图,例示了开关电路中的一个时钟生成器;
图44是一个框图,例示了该时钟生成器的又一个方面;
图44a是一个框图,例示了该时钟生成器的一个替代的形式;
图44b是一个框图,例示了该时钟生成器的又一个替代的形式;
图44c是一个框图,例示了该时钟生成器的多个替代的形式的又一个方面;
图45是一个框图,例示了根据一个实施方案的一个混合器;
图46是一个流程图,例示了图45的混合器中执行的第一方法;
图47是一个流程图,例示了图45中的混合器执行的第二方法;
图48是一个流程图,例示了图45中的混合器执行的第三方法;
图49是一个框图,更详细地例示了图45的混合器的使能和时钟控制块;
图50是一个流程图,例示了图49的使能和时钟控制块中执行的方法;
图51是一个流程图,例示了图49的使能和时钟控制块中执行的又一个方法;
图52a是一个框图,更详细地例示了图45的混合器中的信道调度器(channelscheduler);
图52b是一个流程图,例示了图52a的信道调度器中执行的方法;
图53是一个流程图,例示了图52a的信道调度器中执行的又一个方法;
图54是一个框图,更详细地例示了图45的混合器的计算块;
图55是一个流程图,例示了图52a的信道调度器块和图54的计算块中执行的方法的一部分;
图56是一个示意图,例示了根据本发明的一个方面的一个电子设备的一部分;
图57是一个示意图,例示了根据本发明的一个方面的第二电子设备的一部分;
图58是一个示意图,例示了根据本发明的一个方面的第三电子设备的一部分;
图59是一个示意图,例示了根据本发明的一个方面的第四电子设备的一部分;
图60是一个示意图,例示了根据本发明的一个方面的第五电子设备的一部分;并且
图61是一个示意图,例示了根据本发明的一个方面的第六电子设备的一部分。
具体实施方式
图1示出了根据本发明的一个方面的一个消费者设备,在这个实施例中是移动电话1,更具体地具有智能电话的形式。在这个实施例中,移动电话1具有屏幕3和键盘5,尽管当然本发明同等适用于带有触屏或其他用户界面的设备。移动电话1也具有内置扬声器7和内置主传声器9,它们都是模拟换能器。移动电话1也具有多个传声器,在这个具体实施例中是四个传声器11(它们可以是模拟或数字传声器),从而允许多个环境噪声信号被接收,例如用于用在噪声消除系统中。
如图1中所示,移动电话1可以具有带孔插口(jack socket)(未例示)或类似的连接装置,诸如USB插口或多针连接器插口(multi-pin connector socket),从而允许头戴机(headset)通过电线连接到该移动电话,所述头戴机包括一对立体声耳塞13并且可能地包括传声器 15。替代地,移动电话1可以——例如使用蓝牙(商标)通信协议——无线连接到无线头戴机17,该无线头戴机17具有耳塞19并且可能地具有传声器21。尽管未例示,但耳塞13、19可以包括一个或多个环境噪声传声器(它们可以是模拟或数字传声器),从而允许一个或多个环境噪声信号被接收,例如用于用在噪声消除系统中。
替代地或附加地,移动电话1可以具有插口或类似的连接装置,从而允许它被连接到外部音频系统23,例如用于音乐放音,该系统包括一个或多个扬声器25。外部音频系统23可以例如是桌面式立体声音响系统,或者是车内音频系统。外部音频系统23的电路系统(circuitry)27可以包含无线电接收器或其他音频源,它可以向移动电话1提供音频输入,以使得无线电或其他音频可以通过扬声器7 或通过所选择的一个头戴机的耳塞13、19放音。替代地,存储在该电话上的音乐可以通过外部音频系统23的扬声器25放音。
因此可以看到,许多可能的音频信号可以被输出。例如,如果移动电话1具有允许它配合到机动车辆中的坞站(docking station)的连接器并且配备有卫星导航系统,则移动电话1可能需要能够同时: (a)经由有线或无线的手持机操纵移动电话会话;(b)从它的存储器向外部音频系统23提供立体声音乐;以及(c)经由内置扬声器提供用于确认按钮按压的音调并且提供导航指令。结果,根据上述实施例,移动电话1中的开关电路系统必须能够操纵至少这三个分立的输出音频数据信号,以及操纵该移动电话会话的输入音频数据信号。
图2a示出了移动电话1中的音频操纵系统的部件。与蜂窝电话网络29的通信由基带处理器(有时被称为通信处理器)31操纵。应用处理器33操纵从存储器35(它可以是固态的或盘上的,并且它可以是内置的或可附接的,例如永久地在该移动电话中或者在可移除的存储器设备上)中再现音频数据的处理或者将音频数据存储到存储器35 中的处理,及其他在电话1中内部地生成音频数据的处理,及其他处理。例如,应用处理器33可以操纵数字地存储在存储器35中的立体声音乐的再现,可以操纵电话会话及其他音频数据到存储器35中的记录,并且也将操纵卫星导航命令的生成以及操纵音调的生成以确认在键盘5上的任何按钮的按压。无线收发器(或无线编解码器)37使用蓝牙(商标)协议或其他短程通信协议操纵通信,例如用无线头戴机 17。
基带处理器31、应用处理器33和无线收发器37都向音频集线器 39形式的开关电路系统发送音频数据,并且从音频集线器39形式的开关电路系统接收音频数据。音频集线器39在这个所描述的实施方案中采取集成电路形式。在上述实施方案中,音频集线器39与基带处理器31、应用处理器33和无线收发器37之间的音频信号都是数字的,并且它们中的一些可以是立体声的,包括左数据流和右数据流。附加地,至少在与应用处理器33通信的情况下,又一些数据流可以被复用 (multiplexed)到这些音频信号中,例如以使得应用处理器33能够提供立体声音乐,同时也提供其他音频信号,诸如按键确认音调。
音频集线器39经由相应的音频数据链路(即,总线38b、38a、 38c)与基带处理器31、应用处理器33和无线收发器37通信,并且音频集线器39具有用于这些数据链路的相应的数字接口40b、40a、 40c。
音频集线器39也向移动电话1的内置模拟音频换能器提供音频信号,并且从移动电话1的内置模拟音频换能器接收音频信号。如图2 中所示,音频集线器39向扬声器7提供输出音频信号,并且从传声器 9、11接收输入音频信号。
音频集线器39也可以被连接到其他输出换能器43,输出换能器43可以是模拟或数字换能器,并且可以被内置到移动电话1(例如在触觉输出换能器的情况下)或者移动电话1外部的设备(例如图1中示出的有线头戴机的耳塞13)。音频集线器39也可以被连接到其他输入换能器45,输入换能器45也可以是模拟或数字换能器,并且也可以被内置到移动电话1(例如超声传声器)或者移动电话1外部的设备(例如该有线头戴机的传声器15)。
音频集线器39也可以被要求从其他源(诸如FM无线电接收器41) 接收信号,该其他源可以在外部音频系统23中,或者可以被设置在移动电话1中的分立的IC上,并且可以生成模拟或数字信号。
应意识到,图2示出了音频集线器39的仅一个可能的用途,但是根据本发明的音频集线器集成电路可用在极宽泛的各种各样的电子设备中,包含工业设备、专业设备或消费者设备,诸如摄像机(DSC和/ 或录像机)、便携媒体播放器、PDA、游戏机、卫星导航设备、平板电脑、笔记本计算机、电视机或类似物。
音频集线器集成电路可以被优化用于各种各样的工业设备、专业设备或消费者设备中的一个具体类别。例如,尽管图1示出了智能电话1的一个具体形式,但应意识到,其他智能电话模型将具有不同水平的功能,因此将具有不同的音频操纵要求,并且该音频集线器集成电路可以被设计为能够应对这类各种各样的要求。如下面描述的,音频集线器39被优化用于智能电话中,但也能够被用在具有不同音频操作要求的各种各样的智能电话中。
在任何情况下,即使音频集线器集成电路已经被优化用于一类消费者设备(诸如智能电话)中,它也将很可能可用在一系列类型的消费者设备中,这是因为各个信号代表什么是不可知的。该音频集线器集成电路中提供的接口的数目和类型以及信号处理块的数目和类型将确定它将可用于的消费者设备的类型范围,并且生产商可以选择是否制造一个生产起来可能更便宜的音频集线器集成电路(因为它具有受限的功能但被很好地设计用于一个具体目的),或者是否制造具有更强功能因此可以被用于许多不同目的的音频集线器集成电路。
图2b示出了一个替代的移动电话中的音频操纵系统的部件。再一次,与蜂窝电话网络29的通信由基带处理器(或者通信处理器)31 操纵,并且应用处理器33操纵从存储器35中再现音频数据或者将音频数据存储到存储器35中的处理,以及操纵其他在电话1中内部生成音频数据的处理。例如,应用处理器33可以操纵数字存储在存储器 35中的立体声音乐的再现,可以操纵将电话会话及其他音频数据记录到存储器35中,并且也将操纵卫星导航命令的生成以及操纵音调的生成以确认键盘5上的任何按钮的按压。在这个替代的移动电话中,不存在无线编解码器。结果,音频集线器39a仅需要具有第一数字音频接口40a和第二数字音频接口40b,应用处理器33可以被连接到第一数字音频接口40a,通信处理器31可以被连接到第二数字音频接口 40b。如图2中所示的音频集线器39可以容易地被用在这个替代的移动电话中。然而,音频集线器39a具有仅两个数字音频接口就足够了,并且可能比具有三个数字音频接口的音频集线器更小和更便宜。
尽管在这里参考“音频信号”,但由该“音频集线器”集成电路操纵的电信号可以代表任何物理现象。例如,术语“音频信号”不仅可以意指代表人耳可听到的声音的信号(例如在20Hz至20kHz的频率范围中),而且可以意指来自和/或去往触觉换能器的输入和/或输出信号(通常在20Hz以下或至少在300Hz以下的频率),以及/或者来自和/或去往超声换能器的输入和/或输出信号(例如在20kHz至 300kHz的频率范围中)、以及来自/或者去往次声换能器的输入和/或输出信号(通常在20Hz以下的频率)。可能的是,“音频集线器”可以不接收任何在人耳可听到的范围中的音频信号,例如在设计中或在具体使用例中专用的“音频集线器”可以仅接收与触觉或超声信号有关的“音频信号”。
图3是一个框图,更详细地示出了该音频集线器或路由电路39的形式。在这个情况下,该音频集线器或路由电路被优化用于诸如智能电话的设备中,并且将据此被描述,但是应意识到这个例示的电路仅是根据本发明的路由电路的一个实施例,并且所描述的在智能电话中的用途仅是所例示的电路的一个可能的用途。因此,该音频集线器具有音频编解码器的功能,接受处于一个格式的音频数据,并且将其进行处理,如果要求的话将其处理成不同的格式。
音频集线器路由电路39充当音频编解码器,并且基于数字混合核 50形式的音频处理引擎(audio processing engine),例如用于在音频集线器路由电路39的多个输入和输出之间提供信号路由(包含将来自多个输入的音频信号混合进单个输出),并且用于提供信号处理功能。这些信号处理功能可以包含下列中的一些或全部:扬声器增强,诸如多带压缩(multi-band compression)、虚拟环绕声(立体声扩展)或者补偿扬声器或设备性能的非线性;语音(voice)路径增强,诸如自适应环境噪声消除、话语(speech)清晰度增强、发送噪声消除、回声消除或者侧音(sidetone)和风噪声滤波;或者数字混合功能,诸如像完全灵活的信号路由、音量控制和软噪声抑制、均衡、动态范围控制、可编程的滤波以及采样率转换。
音频集线器路由电路39具有若干数字音频接口52.1、……、52.N,它们旨在被连接到该设备内的其他电路,并且向数字混合核50供给信号或者供给来自数字混合核50的信号。数字音频接口的数目可以在该音频集线器的设计期间基于它的预期的使用范围而被选择。在本发明的这个被优化用于诸如智能电话的设备的实施方案中,存在:第一数字音频接口,它主要旨在用于连接到应用处理器33;第二数字音频接口,它主要旨在用于连接到基带处理器31;以及第三数字音频接口,它主要旨在用于连接到无线收发器37。数字音频接口52.1、……、52.N 可以是可互换的,但一个接口可以有利地被制造得显著宽于其他接口,以使得它可以被连接到多个处理器中的预期需要最大程度上同时访问该路由电路的一个处理器。
在本发明的一个被优化用于诸如数字照相机(digital still camera)的设备的实施方案中,可以存在仅一个数字音频接口;在本发明的一个被优化用于诸如简单电话(simpler phone)(其中无线收发器功能可以不要求,或者可以由例如基带处理器执行)的设备的实施方案中,可以存在仅两个数字音频接口(如图2b中所示)。一个实施方案也可能没有数字音频接口。相对比,在本发明的一个旨在用于家庭影院环绕声设备的实施方案中,可以存在例如六个或更多个数字音频接口。术语“音频接口”也应被理解为覆盖了例如用于承载其他类似的数据流(诸如超声或触觉数据)的接口。
音频集线器路由电路39也具有预调节电路系统54,用于接收模拟输入信号,例如从模拟输入换能器(诸如传声器)56接收模拟输入信号,并且具有模拟FM无线电接收器58。对于这些数字接口,模拟输入的数目可以在该音频集线器的设计期间基于路由电路的预期使用范围而被选择,并且一个实施方案可能没有模拟接口。
一个或多个模拟输入换能器可以是触屏形式的,它可以例如从该设备的用户接收输入,并且经由数字音频接口之一将这些输入传送到该设备的一个处理器,以使得该处理器可以生成用于该设备的一个或多个运行特征的控制信号。
来自预调节电路系统54的信号被传送到开关电路系统60,开关电路系统60也接收数字输入信号,例如从数字输入换能器(诸如数字传声器)62接收数字输入信号。
开关电路系统60被连接到向下采样电路系统64,并且来自向下采样电路系统64的向下采样的信号被供给到数字混合核50,该数字混合核50在下面被更详细地描述。
来自数字混合核50的输出信号被传送到向上采样电路系统66,并且向上采样的信号中的一些被传送到后调节电路系统68,该后调节电路系统68被连接到输出端子,模拟输出换能器(诸如扩音器 (loudspeaker))70可以被连接到这些输出端子。
从向上采样电路系统66提取的其他信号也被传送到数字输出格式化块72,用于连接到合适的换能器74,诸如与远程扩音器连接的数字输入放大器。例如,数字输出格式化块72可以能够将这些信号变成立体声脉冲密度调制(Stereo Pulse Density Modulation)(SPDM) 格式。
如前面一样,模拟和/或数字输出的数目可以基于该路由电路的预期使用范围来设计,并且一个实施方案可能没有模拟或数字输出接口。这些模拟输出可以被成对用于立体声输出,或者可以被单独使用。不同的模拟输出被优化用于不同的用途,例如用于在耳机中或扬声器盒 (speaker cabinet)中使用的扬声器的负载,以及用于例如接地或差分(H桥)扬声器负载。
这个具体实施方案的音频集线器路由电路39也包含低等待时间 (latency)处理块90,它被连接以直接从开关电路系统60的输出接收数字信号,并且经由加法器92.1、……92.P将输出信号从向上采样电路系统66传送到输出线路上。低等待时间处理块90可以适于提供具体的信号处理功能,用于不应受到任何不必要的延迟(也就是说由数字混合核50引起的任何附加的延迟,不论该延迟多么小)的信号。在这个例示的实施方案中,低等待时间处理块90包含数字滤波器,它们可以是自适应的,用于用在前馈噪声消除系统中。在这个实施方案中,由于这些输入信号是在向下采样块之前提取的,所以数据流的采样率和关联的信号处理以比数字混合器核中的信号处理远远更高的采样率(例如是通常的48kHz采样率的8倍或甚至64倍,即384kHz或 3.072MHz)进行,从而可以更容易地实现低等待时间。
即,一个或多个传声器可以被用来生成代表该设备的区域中(例如手持机中或头戴机中)的环境噪声的信号。这些信号被滤波,以生成可以被传送到一个或多个扬声器(通常在同一手持机或头戴机中) 的输出信号,以使得这些信号产生与环境噪声振幅相等但相位相反(从而具有抵消作用)的声音。为了使这个类型的系统优化地工作,该信号处理花费的时间应基本等于声波传过该设备所花费的时间,因此可以看到,该信号处理中的任何等待时间都将对该系统如何优化地工作具有影响。
在这个实施方案中,数字混合核50与低等待时间处理块90之间存在连接,例如使得低等待时间处理块90中的自适应滤波器(例如用于前馈噪声消除系统中)可以从数字混合核50被控制,可基于数字混合核50的信号处理的结果被控制。
音频集线器路由电路39也包含控制接口100,用于例如从位于该设备中的一个处理器集成电路(通常是应用处理器33)接收控制信号。这些控制信号可以例如向路由电路39通知该设备总体的运行状态,例如哪些功能是激活的。
音频集线器路由电路39也包含时钟生成器80,用于接收主时钟 (master clock)信号并且生成系统时钟,如下面更详细地描述的。在这个例示的实施方案中,时钟生成器80接收Q主时钟信号并且生成 R系统时钟。例如,在智能电话的情况下,每当与该电话有关的电路系统被激活时,处于13MHz的频率的主时钟信号可以是可用的,但当与该电话有关的电路不被激活(如在例如“飞行安全模式”中)时,该13MHz时钟可以是不可用的,并且唯一可用的时钟可以是32kHz晶振。
从向上采样电路系统66输出的数字信号也被传送到复用器84,该复用器84可以选择待被反馈的这些输出信号中的一个或多个作为到数字混合核50的输入。所反馈的信号可以被用于例如回声消除。
图4是这个实施方案的音频集线器路由电路39中的预调节电路系统54的一个更详细的框图。
如上面描述的,预调节电路系统54具有若干输入,用于接收模拟输入信号,例如从模拟输入换能器56、调频接收器电路58或类似物接收模拟输入信号。这些输入中的每一个都被连接到一相应的预调节块138,包括放大器140,其中所得到的经放大的信号被传送到一相应的模拟-数字转换器(ADC)142。这个例示的实施方案中的模拟-数字转换器142是过采样(over-sampling)ADC,例如德尔塔-西格玛 (delta-sigma)ADC。每个放大器140的增益可以通过向该芯片上的寄存器写入合适的值而被独立地控制。
图5是这个实施方案的音频集线器路由电路39的开关电路系统 60的一个更详细的框图。该开关电路系统从预调节电路系统54接收若干经预调节的信号,这些信号是这些模拟输入信号的数字化版本。每个经预调节的信号都被传送到复用器160的第一输入,每个复用器 160的第二输入被连接以接收从数字输入换能器62接收的一相应的数字输入信号。
外部部件则通常被连接到路由电路39,以使得,用在一个给定设备中,或者至少在任何一个时刻,每个复用器仅从模拟输入之一或从数字输入之一接收信号,但优选地不从这两者都接收信号。依赖于到音频集线器路由电路39的输入信号是模拟的还是数字的还是这两者的混合,复用器160可以被控制以使得合适的信号被选择作为经切换的(switched)数字输出信号。
图5示出了一个实施方式,其中用于数字输入换能器62的连接与用于模拟输入信号的连接的数目相同(比如M个),因此存在M个复用器160,每个复用器160从这些模拟输入之一接收信号以及从这些数字输入之一接收信号。
图6是一个更详细的框图,示出了音频集线器路由电路39中的开关电路系统60的一个替代的形式。如在图5中一样,这些模拟输入信号的每个数字化版本被传送到一相应的复用器160的第一输入。
在这个情况下,M位(M-bit)宽的组合的数字输入信号被传送到若干M位复用器164,所述复用器164中的相应的一个复用器的输出连接到每个开关160的第二输入。复用器164被控制以使得它们选择该组合的数字输入信号的这些位中的相应的一位,并且开关160如上述那样被控制,以选择该模拟输入信号的数字化版本或者该数字输入信号作为开关电路系统60的输出信号。
尽管被例示为单个有线数据流,但输入数字数据流或数字化的数据流可以是多位的,要么作为并行总线要么作为串行多位数据流,并且可以是在单个总线上时间复用(time-multiplexed)的,带有对这些复用器块的结构的后续调整。
图7是一个更详细的框图,示出了音频集线器路由电路39中的向下采样电路系统64的一个可行形式。
来自开关电路系统60的每个信号输出被传送到一相应的向下采样器170,以生成一相应的向下采样信号。该向下采样器170可以例如包括数字滤波器,诸如具有不同的输入采样率和输出采样率的FIR 滤波器或IIR滤波器。
在这里,如上面描述的,模拟-数字转换器142是过采样ADC,向下采样器170可以将这些数字信号转换到较低采样率,较低采样率可以方便地被数字混合核50中的信号处理电路系统处理,虽然具有较大的位宽度用于避免增加的量化噪声。
图8是一个更详细的框图,示出了音频集线器路由电路39中的向上采样电路系统66的一个可行形式。
来自数字混合核50的每个信号输出都被传送到一相应的向上采样器180,以生成一相应的向上采样的信号。向上采样器180可以例如采取数字滤波器的形式,诸如FIR滤波器或IIR滤波器。
图9是音频集线器路由电路39中的后调节电路系统68的一个更详细的框图。
后调节电路系统68具有若干输入,每个输入用于向上采样电路系统66生成的向上采样的信号之一,并且每个输入都连接到相应的后调节块188。
每个后调节块188包含各自的数字-模拟转换器190,并且所得到的模拟信号被传送到一相应的放大器192,并且所得到的经放大的信号是输出。放大器192可以提供单端(single-ended)输出(如图9 中所示)或差分输出,并且它们可以是任何方便类型的放大器,诸如 A/B类、D类或G类放大器、高功率放大器、或高电压放大器。
图10是音频集线器路由电路39的又一个示意图,在这个情况下示出了第一数字音频接口52.1和第N数字音频接口52.N,但仅概括地示出了预调节电路系统54、开关电路系统60、向下采样电路系统 64、向上采样电路系统66、后调节电路系统68和数字输出格式化块72,并且示出了数字混合核50的更多细节。
具体地,数字混合核50包含多个数字信号处理块,其中示出了第一数字信号处理块(DSP1)102和第N数字信号处理块(DSPN)112。数字信号处理块102、112可以以第一实例(instantiation)被编程,或者通过下载存储在芯片上或芯片外的DSP代码,以执行各种各样的信号处理功能,但它们可以被优化用于执行具体功能。例如,每个可编程的数字信号处理块可以具有允许它执行具体功能的许多个或多种类型的存储器或专用计算硬件,或者可以具有被优化用于预期功能的特殊指令组。这样的可编程数字信号处理块的数目及其具体特性可以依赖于音频集线器39的预期使用范围而被选择。在一个实施例中,音频集线器路由电路39的一个可行的计划用途是在智能电话中,第一可编程数字信号处理块可以被用于处理该电话的发送路径中的语音信号,第二可编程数字信号处理块可以被用于处理该电话的接收路径中的语音信号,并且第三可编程数字信号处理块可以被用于处理非语音信号。
另外,可以提供被优化用于更受限范围的功能的信号处理块。在这个例示的实施例中,数字混合核50也包含完全可编程的五带均衡器,其中两个这样的均衡器118、120被示出,并且数字混合核50也包含滤波器,这些滤波器是完全可编程的,以使得它们可以具有高通和/或低通功能,并且图10中示出了其中一个这样的滤波器134。
数字混合核50还包括动态范围压缩(DRC)块150。图10中还示出了可具有一些其他信号处理功能的另一个功能块154。
此外,音频处理引擎50包含向上采样块162和向下采样块164,用于在具有处于不同采样率的信号的域之间移动。例如,向上采样块 162和向下采样块164包含:各自的采样率转换(SRC)块,用于在采样率为8kHz或16kHz的语音处理域与更一般的48kHz的音频处理域之间转换;和用于在其他整数比率之间转换的SRC块;以及用于在异步采样率之间转换的附加的SRC块。
尽管图10中未示出,但又一个可行性是提供音调生成器形式的功能块,它输出具有预定特性的音频或触觉信号,而不要求任何输入音频信号。类似地,尽管图10中未示出,又一个可行性是提供要求音频输入但不提供音频输出的功能块,例如包含供另一个块使用的很少更新的异步控制信号的块,诸如用于噪声抑制其他音频路径或者用于在几乎没有环境噪声时禁用环境噪声消除的信号水平阈检测信号。
由此提供了数字混合核50中的多个功能块,以及到数字混合核 50的信号输入和来自数字混合核50的信号输出。这些都通过数字混合核50的混合构件(mixing fabric)被互连,如下面更详细地描述的。
从该混合构件的视角看,到数字混合核50的每一个信号输入,以及来自这些功能块之一的每一个输出,都代表信号源端口。在图10中,这些信号源端口中的每一个都由一个实心黑色圆形代表。
而且,从该混合构件的视角看,来自数字混合核50的每一个信号输出,以及到这些功能块之一的每一个输入,都代表信号目的地端口。在图10中,这些信号目的地端口中的每一个都由一个实心黑色菱形代表。
由此,在图10中可以看到,一些功能块具有一个输入,而其他功能块具有多个输入。例如,均衡器120具有一个输入122,而DSP1 102 具有至少四个输入104、106、108、110。这意味着DSP1能够处理至少四个单独的输入数据流。
虽然被描述为单个端口,但这些源端口和这些目的地端口可以是多位的,操纵并行(例如16位或24位)或串行多位数据流,并且可以是在单个连接上时间复用的。
此外,该混合构件使得每个信号目的地端口(即,用于任何功能块的输入或来自数字混合核50的信号输出)都与一个混合“信道”关联,该混合信道包括预定数目的“选择器端口”,每个选择器端口可以被配置为从可选择的信号源端口接收信号数据。这些信道或混合器元件在图11至图13中被例示为与相应的信号目的地端口对接,其中这些选择器端口中的每个选择器端口由一个实心黑色方形代表。
一些信道可以简单地将未改变的数据传递到相应的目的地端口,但该混合构件使得这些信道输出数据信号流中的至少一些可以从来自信号源的信号的混合(可能已按照不同的相应的缩放因子被缩放)中得出。由给定的信道执行的这个混合操作可以在不同应用或该音频集线器的不同使用例中是不同的。
图11至图13例示了该混合构件(示为有阴影)的信道或混合器元件的多个实施例,该混合构件附接至多个功能块上的信号目的地。每个混合器元件包括一个或多个选择器端口,所述选择器端口中的每一个可以如下所述被附接有单个所选择的信号源。
图11示出了功能块170具有一个输入(从混合构件的视角看是目的地端口)171的情形。图11(a)示出了这个输入171可以从一个选择器端口172上的一个信号源接收信号,并且图11(b)示出了相同信道结构的一个更详细的视图,其中来自所述一个信号源的信号可以在被施加到输入171之前被缩放。
图12示出了功能块174具有两个输入175、176和两个相应的信道或混合器元件的情形。图12(a)示出了输入175可以从选择器端口177、178上的两个信号源分别接收信号,并且输入176可以从选择器端口179、180上的两个信号源分别接收信号,并且图12(b)示出了相同信道结构的一个更详细的视图,其中来自两个选择器端口177、 178的信号可以在被施加到输入175之前被缩放并且被加到一起,而来自两个选择器端口179、180的信号可以在被施加到输入176之前被缩放并且被加到一起。
图13示出了功能块181具有一个输入182的情形。图13(a)示出了输入182可以从四个信号源183、184、185、186接收信号,并且图13(b)示出了相同信道结构的一个更详细的视图,其中来自这四个信号源183、184、185、186的信号可以在被施加到输入182之前被缩放并且被加到一起。
因此,图14是图10的一个稍微更详细的版本,示出了具有多个选择器端口的信道对接在每个信号目的地(即,功能块和来自该混合核的信号输出)的相应的目的地端口(块输入)上。
例如,均衡器120的输入122能够从相应的选择器端口188、189、 190、191上的四个信号源接收信号;而DSP1 102的输入104能够从相应的选择器端口192、193、194上的三个信号源接收信号;DSP1 102 的输入106能够从相应的选择器端口195、196上的两个信号源接收信号;DSP1 102的输入108能够从选择器端口197上的一个信号源接收信号;并且DSP1102的输入110能够从选择器端口198上的一个信号源接收信号。
如上面提及的,该混合构件允许来自任意所选择的信号源的信号被路由到这些信号目的地,而在单个信号目的地被要求接收来自多个信号源的信号的混合的情况下被组合。即,该混合构件允许用户基于由用户选择施加的任何一个准则来选择哪些信号源要被连接到哪些信号目的地,而没有该混合构件自身强加的限制。
使用如所示的用于每个功能块上的每个信号目的地的分立的加法器和乘法器,可物理地实施如图14中所示的混合构件。然而,在硅实体(silicon real estate)、电力以及控制功能集中的方面,非常有利的是将该混合构件实施为单个混合器电路(或者可能地,对于更复杂的系统,实施为若干这样的混合器电路,其中混合器电路的数目仍远小于信号目的地的数目),并且在多个目的地之间对这个电路进行时间复用,以使得它在每个音频信号采样周期内轮流服务于每个所要求的信号目的地的要求。
由此该混合构件包含一个混合器(或多个混合器),其在时分复用基础上在这些信号源和目的地之间被共享。即,在一个数据采样周期内,同一混合器可以将数据从许多信号源(或许多组信号源)路由到相应的信号目的地。然而,该混合器块的时钟频率小于能够在一个数据采样周期期间在每一个信号源与每一个信号目的地之间建立信号路径所要求的时钟频率。由此,该混合块不会简单地循环经过所有可能的信号路径。当存在以一个特定的混合器时钟频率CR运行的单个混合器,并且存在以一组可用的采样率SR,i中的第i个采样率运行的若干信号源Ns,i和信号目的地Nd,i时,CR远小于在所有i值上获得的乘积 SR,i·Nd,i·Ns,i的总和。当存在m个这样的以混合器时钟频率CR运行的混合器时,乘积m·CR远小于在所有i值上获得的乘积SR,i·Nd,i·Ns,i的总和。当存在多个混合器时钟频率CR,j以及mj个以第j个混合器时钟频率CR,j运行的混合器时,在所有j值上获得的乘积mj·CR,j的总和远小于在所有i值上获得的乘积SR,i·Nd,i·Ns,i的总和。该路由可以被该音频集线器电路的用户配置,此外可以在使用中被重新配置,以在不同情形下提供不同功能。
图15是一个框图,例示了图3的音频编解码器39的数字混合核 50的总体形式,强调该混合构件而非强调功能块。
图15示出了单个块200,总体代表一组多个功能块,即,数字混合核50中的信号处理块200.1、……、200.N。图15还示出了输入214 以及输出216,信号在输入214被引入混合核50,信号在输出216被引出混合核39。(从上面图10的描述应意识到,典型的电路将包含多个输入和输出,从而为了易于例示,输入214和输出216代表那些多个输入和输出。)
由此,功能块200可以充当信号源,提供信号源端口,并且输入 214也可以充当信号源,提供信号源端口,而功能块200也可以充当信号目的地,提供信号目的地端口,并且输出216也可以充当信号目的地,提供信号目的地端口。信号处理块当接收待处理的信号时充当信号目的地,并且当向输出或后续功能块传送已处理的信号时充当信号源。
与这些功能块之一关联的每个信号源端口具有与之关联的一相应的源缓冲器202.1、……、202.N,并且与输入214关联的信号源端口具有与之关联的源缓冲器202.P。这些源缓冲器202.1、……、202.N、 202.P中的每个源缓冲器经过源选择器块被连接到混合器206。在这个例示的实施方案中,该源选择器块采取总线204的形式,总线204允许混合器206从与任何这些信号源相关联的相应的源缓冲器中提取数据。
来自混合器206的输出数据经过目的地选择器块,被传送到与这些信号目的地端口中相应的一个信号目的地端口关联的一相应的目的地缓冲器210.1、……、210.N、210.Q。具体地,每个目的地缓冲器 210.1、……、210.N与功能块200.1、……200.N之一上的一相应的信号目的地端口关联,并且目的地缓冲器210.Q与输出216上的信号目的地端口关联。在这个例示的实施方案中,该目的地选择器块采取总线208的形式,总线208允许混合器206将数据传送到与任何这些信号目的地端口关联的相应的目的地缓冲器。
源缓冲器202.1、……、202.N和目的地缓冲器210.1、……、210.N 可以在物理上被定位为邻近于相应的功能块200,或者邻近于混合器 206,或者在任何方便的位置,如在路由电路39的设计期间确定的。类似地,缓冲器202.P可以被定位为靠近有关的信号输入或靠近混合器206,并且缓冲器210.Q可以被定位靠近有关的信号输出或靠近混合器206。
此外,连接到输入214或输出216的电路系统的设计可以意味着不必在数字混合核50内提供缓冲器。例如,连接到输入214的向下采样器的输出寄存器、或者连接到输出216的向上采样器的输入寄存器可能已经提供了合适的缓冲。换言之,一些源缓冲器或目的地缓冲器可以被提供在该数字混合核之外。
在这个例示的实施方案中,总线204、208是分立的,从而允许该混合器从缓冲器202.1、……、202.N、202.P之一读取数据并且同时向缓冲器210.1、……、210.N、210.Q之一写入数据。在一个替代的实施方案中,单个总线可以被用于这个目的,具有总线仲裁方案来确保混合器206不试图在完全同一时间从缓冲器202.1、……、202.N、 202.P之一读取数据并且向缓冲器210.1、……、210.N、210.Q之一写入数据。然而,输入总线和输出总线的分立在如下方面是有利的:使得更容易避免输入与输出之间的时序冲突,并且避免必须共享该总线的带宽。
在这个例示的实施方案中,存在单个混合器206,它服务于所有这些信号目的地。
图16是一个框图,例示了图3的路由电路39中的数字混合核50 的一个替代的总体形式。
如图15中一样,图16示出了单个块200,总体代表多个功能块,即,数字混合核50中的信号处理块200.1、……、200.N。图16也示出一个输入214以及一个输出216,信号在输入214被引入混合核50,信号在输出216被引出混合核39。
如图15中一样,能够充当信号源的每个功能块都具有与之关联的一相应的缓冲器202.1、……、202.N、202.P。在这个实施方案中,源选择器包括第一源总线220和第二源总线222。第一源总线220和第二源总线222中的每一个被连接到缓冲器202.1、……、202.N、202.P 中的每一个,以使得它可以从中接收信号。第一源总线220被连接到第一混合器224,并且第二源总线222被连接到第二混合器226。由此,第一源总线220允许第一混合器224从与任何这些信号源关联的相应的缓冲器提取数据,并且第二源总线222相似地允许第二混合器226 从与任何这些信号源关联的相应的缓冲器提取数据。
来自每个混合器224、226的输出数据经过目的地选择器被传送到一相应的缓冲器210.1、……、210.N、210.Q,其中每个缓冲器 210.1、……、210.N、210.Q与这些信号目的地中的相应的一个信号目的地关联。在这个实施方案中,该目的地选择器块包含复用器228和总线230。复用器228基于所施加的控制信号(未示出)来确定第一混合器224和第二混合器226中的哪个能够在任何一个时间将输出数据传送到总线230,从而传递到与任何这些信号目的地关联的相应的缓冲器。一个简单的可能性是,使该控制信号允许混合器A 224和混合器B 226在一个快速处理器时钟的交替循环中与总线230会话。
由此,在这个实施方案中,提供了两个混合器224、226。事实上,可以存在任何数目的混合器,以提供所要求的或期望的信号吞吐。通常,与目的地待服务的信号相比,混合器构件将具有更多待被混合的输入信号,所以输入总线将首先饱和,因此如果要求的话,两个或更多个输入总线(或比目的地数目小的任何数目的输入总线)以及关联的多个混合器可以为混合器构件带宽提供有用的增加。
图17是一个框图,例示了图3的路由电路39中的替代的数字混合核50的总体形式。
如图15中一样,图17示出了单个块200,总体代表多个功能块,即,数字混合核50中的信号处理块200.1、……、200.N。图17也示出了一个输入214以及一个输出216,信号在输入214被引入混合核 50,信号在输出216被引出混合核39。
能够充当信号源的功能块中的每个功能块都具有与之关联的一相应的缓冲器202.1、……、202.N、202.P。这些缓冲器202.1、……、 202.N、202.P中的每个缓冲器经过第一源选择器被连接到混合器206。在这个例示的实施方案中,该源选择器采取复用器240的形式,复用器240可以被控制以允许混合器206从与任何这些信号源关联的相应的缓冲器提取数据。
来自混合器206的输出数据经过目的地选择器被传送到一相应的缓冲器210.1、……、210.N、210.Q。每个缓冲器210.1、……、210.N、 210.Q与这些信号目的地中的相应的一个信号目的地关联。在这个例示的实施方案中,该目的地选择器采取复用器242的形式,复用器242 允许混合器206将数据传送到与任何这些信号目的地关联的相应的缓冲器。
再一次,在这个例示的实施方案中,存在单个混合器206,它服务于所有这些信号目的地。
图18是一个框图,例示了图3的路由电路39中的数字混合核50 的又一个替代的总体形式。
如前面一样,图18示出了单个块200,总体代表多个功能块,即,数字混合核50中的信号处理块200.1、……、200.N。图18也示出了一个输入214以及一个输出216,信号在输入214被引入混合核50,信号在输出216被引出混合核39。
能够充当信号源的功能块中的每个功能块都具有与之关联的一相应的缓冲器202.1、……、202.N、202.P。这些缓冲器202.1、……、 202.N、202.P中的每个缓冲器都连接到第一源选择器。
在这个实施方案中,该源选择器包括第一复用器248和第二复用器250,第一复用器248连接至第一混合器252,第二复用器250连接至第二混合器254。每个复用器248、250都与所有这些缓冲器 202.1、……、202.N、202.P连接,从而该源选择器允许混合器252、 254中的每一个混合器都从与任何这些信号源关联的相应的缓冲器提取数据。
来自混合器252、254的输出数据经过目的地选择器被传送到一相应的缓冲器210.1、……、210.N、210.Q,每个缓冲器210.1、……、 210.N、210.Q与这些信号目的地中的相应的一个信号目的地关联。在这个实施方案中,所述目的地选择器采取复用器256的形式,该复用器256基于所施加的控制信号(未示出)来确定第一混合器252和第二混合器254中的哪个能够在任何一个时间传送输出数据,以及与这些信号目的地关联的缓冲器210.1、……、210.N、210.Q中的哪个缓冲器可以接收该数据。
由此,在这个实施方案中,提供了两个混合器252、254,并且它们中的任一个都可以向任何这些信号目的地提供数据。事实上,可以存在任何数目的混合器,以提供所要求的或期望的信号吞吐。
图19是一个框图,例示了图3的路由电路39中的数字混合核50 的又一个替代的总体形式。图19中示出的数字混合核50与图18中示出的相同,区别在于该目的地选择器将每个信号目的地与混合器252、 254之一相关联。
由此,信号目的地被划分成两组,例如在如下基础上:每组将被期待使用总的可用的混合器资源中近似相等的一份混合器资源。如图 19中示出的,一组目的地包含输出216和功能块200.1、……、200.J,而另一组目的地包含功能块200.K、……、200.N。
目的地选择器则包括两个复用器256a、256b,复用器256a与混合器252关联,复用器256b与混合器254关联。来自混合器252的输出数据经过复用器256a被传送到一相应的缓冲器210.1、……、210.J、 210.Q,其中每个缓冲器210.1、……、210.J、210.Q与第一组中的相应的一个信号目的地关联。来自混合器254的输出数据经过复用器 256b被传送到一相应的缓冲器210.K、……、210.N,其中每个缓冲器 210.K、……、210.N与第二组中的相应的一个信号目的地关联。
图20是一个框图,示出了数字混合核50中的混合器和缓冲器以及源选择器和目的地选择器的形式。在图20中,如图15和图17中一样,存在一个混合器。当如图16、18和19中那样存在多于一个的混合器时,该混合器结构中的一些或全部是复制的。
在图20中,混合器290示为被连接以从与相应的信号源关联的缓冲器202.1、……、202.N、202.P接收输入数据,并且被连接以向与这些信号目的地关联的缓冲器210.1、……、210.N、210.Q传送输出数据。
混合器290以乘累加块(MAC)292为基础,乘累加块292的结构在下面被更详细地描述。该乘累加块292在不同源和目的地之间被时间复用,再一次如下面描述的。
源选择器块294确定在任何给定时刻这些数据源中的哪一个充当用于乘累加块292的第一数据源(MAC输入1),并且目的地选择器块 296确定在任何给定时刻这些数据目的地中的哪一个充当用于来自乘累加块292的数据输出的目的地。
基于从控制器300接收的源输入选择信号,以及基于从寄存器库 298接收的信息,源选择器块294选择源。基于从控制器300接收的输出目的地选择信号,以及同样基于从寄存器库298接收的信息,目的地选择器块296选择目的地。如上面提及的,源选择器块294和目的地选择器块296可以采取任何方便的形式,例如它们的形式可以是合适地受控制的总线或复用器。
寄存器库298也充当用于乘累加块292的第二数据源(MAC输入 2)。MAC输入2提供待应用到正被处理的所选择数据的缩放因子。
图21是一个框图,示出了数字混合核50中的混合器和关联的缓冲器和选择器块的一个替代的形式。
在这个实施方案中,混合器310包括乘累加块292,并且被连接到源选择器块294和目的地选择器块296,它们与图15中示出的源选择器块294和目的地选择器块296相同。
在图21中示出的实施方案中,寄存器库312和控制器314具有与图20中示出的混合器290的对应部件大致相同的功能,但不被认为是该混合器的一部分。取而代之,混合器310内的存储器316存储从寄存器库312接收的数据,并且基于从寄存器库312接收的数据,向源选择器库294供给源输入选择信号以及向目的地选择器库296供给输出目的地选择信号。
图22是一个框图,示出了图20或图21的混合器中的乘累加块的一个可行的形式。
在图22中,示出了乘累加(MAC)块292,它接收来自第一源(MAC 输入1)的数据和来自第二源(MAC输入2)的数据作为到乘法器330 的输入。乘法器330的输出被施加作为到加法器332的输入,并且加法器332的输出被进而施加到寄存器334,基于寄存器334接收的一个时钟信号,加法器332的输出充当一个单时钟周期延迟元素(one clock period delayelement)。寄存器334的输出被提供作为乘累加块292的一个输出,并且也被反馈回加法器332的第二输入。
(作为一个替代方案,可以将加法器332的输出作为该MAC块的输出。)
由此,在一个时钟周期期间,乘累加块292从第一源(MAC输入1) 接收数据,将此数据值乘以乘法系数,该乘法系数的形式为来自第二源(MAC输入2)的数据,并且将结果加到先前接收到的和值。这可以被允许持续若干个时钟周期,以使得乘累加块292的输出代表从第一源接收的若干个数据值的和值,每个数据值通过一相应的乘法系数被缩放。当期望的和值已经被算出,并且输出已经被缓冲在计划的目的地缓冲器210中时,存储在寄存器334中的值可以被清除。或者,该值可以只是被留下,并且通过禁用针对下一个首先接收到的数据的加法器来被下一个部分和值覆盖。
图23是一个框图,示出了图20或图21的混合器中的乘累加块的一个替代的形式。
图23中示出的乘累加块292与图22中示出的相同,区别在于寄存器334的输出被传送到可控制的复用器336的一个输入。复用器336 的另一个输入通过旁路路径338被连接到乘累加块292的输入。这意味着,当所要求的输出数据简单地是来自第一源(MAC输入1)的输入数据,而没有任何缩放或与其他数据值的混合时,复用器336的旁路路径输入可以被选择,并且被连接到乘累加块292的输出。
图24是一个流程图,图25是一个概览,且图26是一个时序图,例示了图20或图21中例示的混合器的运行。
图26示出了一个相对高速的时钟DCK和一个较低速的时钟SCK。该较低速的时钟SCK的频率是音频数据流的采样率,从而确定了这个数据需要被处理的速率。例如,用于电话呼叫的语音处理可以要求数据以8kHz的频率被生成,而其他音频数据处理应用可以要求数据以 48kHz的频率被生成。在这个例示的实施方案中,仅使用每个时钟循环的前沿(leading edge),所以SCK没有被示为具有50%的占空比是无关紧要的。
该高速的时钟DCK确定了乘累加块292运行的速度,即,MAC循环经过多个输入的速度。应注意,数据时钟DCK的典型值可以是比如 48MHz,它可以例如是用于典型处理的采样率时钟SCK的1000倍。由此,图26不是按比例的,而是例示了所要求的处理。
图24、图25和图26例示了,在来自两个源的数据要被混合在一起并且被施加到输出的情况下,混合器290的运行。在采样时钟信号 SCK的第一周期期间,或者在第一时间区间T1(或任何更早的时间区间)期间,第一处理(处理A)由功能块之一200.A执行(或者等效地,数据在该数字混合核的输入被接收),并且这产生了第一数据值 (图24中的步骤450),该数据值在第一时间区间T1内在与那个数据源关联的数据源缓冲器202.A中可获得,即被存储。第一数据值被存储在数据源缓冲器202.A中(图24中的步骤452),以使得在整个接下来的采样时钟周期(或第二时间区间)T2上混合器290可获得所述第一数据值。
图25和26示出了缓冲器202.A的划分,使得数据在第一时间区间T1中的一些时间被写入缓冲器202.A的第一半部202.A1,并且数据在第一时间区间T1结束时被传输到缓冲器202.A的第二半部 202.A2,使得数据能够在贯穿第二时间区间T2的任何时间由混合器290从缓冲器202.A的第二半部202.A2中被访问。
在同一第一时间区间T1(或任何更早的时间区间)期间,第二处理(处理B)由功能块之一200.B执行(或者等效地,数据被接收在数字混合核的输入),并且这产生了第二数据值(图24中的步骤454),该数据值在与那个数据源关联的数据源缓冲器202.B中可获得。第二数据值被存储在数据源缓冲器202.B中(图24中的步骤456),以使得在整个接下来的采样时钟周期T2上混合器290可获得所述第二数据值。图25和图26以与上面描述的缓冲器202.A相同的方式示出了缓冲器202.B的划分(partitioning)。
在采样时钟周期T2期间的时间点t2a,使乘累加块292在第一输入(MAC输入1)获得来自缓冲器202.A2的数据,所以它在数据时钟 DCK的上升沿(rising edge)获得了第一数据样本(图24中的步骤 458)。(数据变换可以同样合适地地被定时为出现在数据时钟DCK的下降沿。)在数据时钟DCK的处于周期t2a与t2b之间的时钟周期期间,这个第一数据样本被缩放(由“×”350表示),通过在乘法器350中被乘以在第二输入(MAC输入2)获得的乘法系数(图24中的步骤460)而被缩放。这个缩放的结果被存储在图22的寄存器334 中。
在数据时钟DCK的t2a与t2b之间的那个时钟周期之后的时间点 t2b,使乘累加块292在第一输入(MAC输入1)获得来自缓冲器202.B2 的数据,所以它采样了第二数据值(图24中的步骤462)。在数据时钟DCK的处于周期t2b与t2c之间的时钟周期期间,第二采样的数据值被缩放(由“×”352表示),通过在相同的乘法器350中被乘以在第二输入(MAC输入2)获得的第二缩放系数(图24中的步骤464) 而被缩放。这个缩放的结果被加(由“+”354表示)到第一数据样本的缩放结果(图24中的步骤466)。
这个加法的结果被存储在与旨在接收输出数据的数据目的地——即,功能块(或该数字混合核的输出)200.Z——关联的输出缓冲器 210.Z的第一半部210.Z1中(图24中的步骤468)。如前面一样,图 25和图26示出了缓冲器210.Z的划分,以使得数据在第二时间区间 T2期间被写到缓冲器210.Z的第一半部210.Z1,继而被传输到缓冲器 210.Z的第二半部210.Z2,在这里数据保持是可获得的,直到接下来的采样时钟周期T3结束。
在采样时钟周期T3期间的任意时间t3a,该输出数据被充当数据目的地的功能块200.Z采样(图24中的步骤470),它可以继而在后续处理中被功能块200.Z处理(图24中的步骤472)。当然,如果该数据目的地是该数字混合核的输出,则结果数据可以在采样周期T3期间被输出(图24中的步骤474)。
由此,乘累加块292生成了所要求的数据,以使得这个所要求的数据在所要求的时间——不论在音频采样周期的何处——都可供意图接收它的块获得。这大大简化了在配置该数字混合器核中所要求的时序考虑。即,源缓冲器和目的地缓冲器的布置意味着,在知晓乘累加块292从数据源要求的数据将在整个一个采样周期上可获得的情况下,乘累加块292的运行可以被调度(以使得该调度不需要考虑在那个采样周期内该数据将变得可获得的确切时间点),并且以及在知晓乘累加块292向数据目的地供给的数据将在整个另一个采样周期上可获得的情况下,乘累加块292的运行可以被调度(以使得该调度不需要考虑在那个采样周期内该数据将被要求的确切时间点)。
换言之,在一个采样周期的开始呈现在源端口的数据将在接下来的整个采样周期上可获得以供目的地块处理。假定该目的地块可以在后一采样周期内完成它的运行,则该信号处理链中的每阶段的等待时间因此是固定的两个采样周期,一个用于混合器,一个用于处理。这大大简化了针对信号链的等待时间计算。
这个等待时间也独立于用来给该混合器计时(且给这些功能块计时)的时钟,这使任何时钟频率缩放对该音频信号路径都不可见。
如果在一些路径中要求附加的等待时间,例如为了匹配由并行路径中的扩展处理引入的等待时间,则该混合器输出可以经由包括简单寄存器的信号处理块被反馈到它的输入,如果必要则重复地反馈。
如上面描述的,图26是一个例示的时序图(不按比例),示出了来自第一数据源(处理A)的一个数据样本被与来自第二数据源(处理B)的一个数据样本组合,以生成一个结果样本,该结果样本被提供到数据目的地(处理Z)。
当然,大多数真实处理都要求这个操作被重复执行,每个采样周期执行一次,并且图27是示出了这个重复的又一个时序图。
由此,在图27中,如在图26中一样:
在采样时钟周期T1中,
来自处理A(例如功能块200.A)的数据被存储在缓冲器202.A1 中,
来自处理B(例如功能块200.B)的数据被存储在缓冲器202.B1 中;
在采样时钟周期T2的开始,
存储在缓冲器202.A1中的数据被传输到缓冲器202.A2,
存储在缓冲器202.B1中的数据被传输到缓冲器202.B2;
在采样时钟周期T2期间,
来自缓冲器202.A2和202.B2的数据被与存储在缓冲器210.Z1中的结果混合(混合1)
在采样时钟周期T3的开始,
存储在缓冲器210.Z1中的数据被传输到缓冲器210.Z2
在采样时钟周期T3期间,
使数据目的地(例如功能块200.Z)可获得来自缓冲器210.Z2的数据。
这个处理在一个采样时钟周期之后被重复。即:
在采样时钟周期T2中,
来自处理A(例如功能块200.A)的数据被存储在缓冲器202.A1 中,
来自处理B(例如功能块200.B)的数据被存储在缓冲器202.B1 中;
在采样时钟周期T3的开始,
存储在缓冲器202.A1中的数据被传输到缓冲器202.A2,
存储在缓冲器202.B1中的数据被传输到缓冲器202.B2;
在采样时钟周期T3期间,
来自缓冲器202.A2和202.B2的数据被与存储在缓冲器210.Z1中的结果混合(混合2);
在采样时钟周期T4的开始,
存储在缓冲器210.Z1中的数据被传输到缓冲器210.Z2
在采样时钟周期T4期间,
使数据目的地(例如功能块200.Z)可获得来自缓冲器210.Z2的数据。
由此,该处理在每个采样时钟周期中被重复,并且使该数据目的地可以所要求的采样率获得输出数据样本。
如上面描述的,图27是一个例示的时序图(不按比例),示出了在每个采样周期中,来自第一数据源(处理A)的一个数据样本被与来自第二数据源(处理B)的一个数据样本组合,以生成一个结果样本,该结果样本被提供到数据目的地(处理Z)。
图26和图27所描述的实施方案的一方面是,混合器在多个数据目的地之间时分复用,并且图28是又一个例示的时序图(不按比例),示出了该时分复用方面。
由此,在图28中,如在图26中一样:
在采样时钟周期T1中,
来自处理A(例如功能块200.A)的数据被存储在缓冲器202.A1 中,
来自处理B(例如功能块200.B)的数据被存储在缓冲器202.B1 中;
在采样时钟周期T2的开始,
存储在缓冲器202.A1中的数据被传输到缓冲器202.A2,
存储在缓冲器202.B1中的数据被传输到缓冲器202.B2;
在采样时钟周期T2期间,
在时间t2a,MAC 292从缓冲器202.A2提取数据,并且如果要求则缩放该数据,
在时间t2b,MAC 292从缓冲器202.B2提取数据,并且如果要求则缩放该数据,
在时间t2c,已缩放的数据被相加,并且结果被存储在缓冲器 210.Z1中。
在采样时钟周期T3的开始,
存储在缓冲器210.Z1中的数据被传输到缓冲器210.Z2
在采样时钟周期T3期间,
在时间t3a,使数据目的地(例如功能块200.Z)可获得来自缓冲器210.Z2的数据。
该混合器的时分复用意味着,另一个处理可以与这个处理并行发生,只要MAC 292的运行被调度以避免它们之间交叠(overlap)。
由此,图28也示出了这个并行运行:
在采样时钟周期T1中,
来自处理C(例如功能块200.C)的数据被存储在缓冲器202.C1 中,
来自处理D(例如功能块200.D)的数据被存储在缓冲器202.D1 中;
在采样时钟周期T2的开始,
存储在缓冲器202.C1中的数据被传输到缓冲器202.C2,
存储在缓冲器202.D1中的数据被传输到缓冲器202.D2;
在采样时钟周期T2期间,
在时间t2d,MAC 292从缓冲器202.C2提取数据,并且如果要求则缩放该数据,
在时间t2e,MAC 292从缓冲器202.D2提取数据,并且如果要求则缩放该数据,
在时间t2f,已缩放的数据被相加,并且结果被存储在缓冲器 210.Y1中。
在采样时钟周期T3的开始,
存储在缓冲器210.Y1中的数据被传输到缓冲器210.Y2
在采样时钟周期T3期间,
在时间t3b,使数据目的地(例如功能块200.Y)可获得来自缓冲器210.Y2的数据。
其中图28中示出的数据目的地200.Z、200.Y中的一个或多个是信号处理块形式的功能块,它将进而后续在又一个处理中提供数据源端口。
图26至图28示出了一个系统,其中每个缓冲器被划分以使得数据被写入该缓冲器的第一部分,继而在一个新的采样时钟周期的开始时被传输到该缓冲器的第二部分,继而在该新的采样时钟周期期间被从该缓冲器的第二部分读取。使用“乒乓(ping pong)”缓冲器也是可行的,它则被划分以使得数据决不在缓冲器的这两个部分之间传输;取而代之,在奇数编号的采样时钟周期期间数据可以被写到缓冲器的第一部分以及被从缓冲器的第二部分读取,并且可以在偶数编号的采样时钟周期期间被从缓冲器的第一部分读取以及被写到缓冲器的第二部分。
图29是一个时序图,示出了乒乓缓冲器的使用。
由此,在图29中:
在采样时钟周期T1中,
来自处理A(例如功能块200.A)的数据被写到相应的缓冲器 202.A3的第一部分,
来自处理B(例如功能块200.B)的数据被写到相应的缓冲器 202.B3的第一部分;
在采样时钟周期T2期间,
数据被从缓冲器202.A3的第一部分读取,并且如果要求则被缩放
数据被从缓冲器202.B3的第一部分读取,并且如果要求则被缩放
来自202.A3和202.B3的已缩放的数据被混合(混合1),结果被存储在缓冲器210.Z3的第一部分中
来自处理A(例如功能块200.A)的数据被写到相应的缓冲器 202.A4的第二部分
来自处理B(例如功能块200.B)的数据被写到相应的缓冲器 202.B4的第二部分;
在采样时钟周期T3期间,
使数据目的地(例如功能块200.Z)可获得来自缓冲器210.Z3的第一部分的数据
数据被从缓冲器202.A4的第二部分读取,并且如果要求则被缩放
数据被从缓冲器202.B4的第二部分读取,并且如果要求则被缩放
来自202.A4和202.B4的已缩放的数据被混合(混合2),结果被存储在缓冲器210.Z4的第二部分中
在采样时钟周期T4期间,
使数据目的地(例如功能块200.Z)可获得来自缓冲器210.Z4的第二部分的数据。
该处理被重复,从而使数据目的地可以所要求的采样率获得输出数据样本。
图30是一个流程图,例示了根据本发明的用户可以通过其配置开关电路的处理。该开关电路的运行的方面可以在包含了该开关电路的集成电路的设计期间被配置,以及/或者在含有包含了该开关电路的集成电路的电子设备的开发期间被配置,以及/或者由购买了该电子设备的最终用户配置。该运行的已经被该电子设备的开发者配置的方面可以被保护以使得最终用户不能改变那个配置,或者可以被留下以使得最终用户可以改变那个配置。在接下来的描述中,假定本发明的用户是消费者设备的设计者,在该消费者设备中多个音频信号要被并行处理。在这个例示的实施方案中,通过允许用户限定所要求的该设备的功能,使这个配置处理对用户尽可能是直观的。在这个例示的实施方案中,这个处理是在当最终产品——诸如智能电话、游戏机、便携式媒体播放器或者类似物——被设计时执行的。在这个例示的实施方案中,最终产品是智能电话。
在图30中示出的处理的步骤500中,用户限定了所要求的通过该开关电路的信号处理。例如,如图32中示出的,用户可以能够总体描述哪些输入信号是可获得的,以及他希望基于这些输入信号通过哪些处理来生成哪些输出信号。
由此,图32示出了用户希望以48k样本/秒从模拟语音传声器提取输入信号520、522,将每个输入信号向下采样到8k样本/秒,继而将它们两个都传送到DSP,以执行声学回声消除,以及生成用于该发送路径的环境噪声消除信号。由此,该智能电话中的传声器检测到的信号在经由电话网络发送之前被处理。
已处理的输出信号524被施加了增益,并且所得到的信号526被传送到该智能电话的基带处理器。
已处理的输出信号524也将要被向上采样到48k样本/秒,并且增益要被施加到已向上采样的信号528。
图32也示出了用户希望能够以8k样本/秒提取信号530(这代表所接收到的语音呼叫声音),并且将它从8k样本/秒向上采样到48k 样本/秒。用户希望对已向上采样的信号531施加增益,并且将所得到的信号532传送到均衡器功能,以衰减处于217Hz的信号及处于其倍数的谐波。用户继而希望对这个已滤波的信号534施加增益,并且对所得到的增益信号536执行多带压缩(multiband compression)。
用户继而希望向已压缩的信号538施加增益,并且将所得到的信号540经由DAC传送到该智能电话的扩音器。由此,所接收到的语音信号在向该智能电话的用户放音之前被处理。
另外,本发明的用户,即该智能电话设备的设计者,可以希望提供一个功能,借此电话呼叫的双方都被记录。由此,可以期望对这两个信号528、538施加(可能不同的)增益,并且在一个使用例中将这两个信号528、538加在一起,并且将所得到的信号542传送到该智能电话的应用处理器,以使得所得到的信号542可以被记录在本地存储器中,例如记录在该设备内,或记录在能够被插入该设备中的存储设备上。
返回图30,在步骤502中,这些处理操作被映射到数字混合核中可用的功能块。例如,在这个实施例中,数字混合核中的DSP之一,比如DSP#1102可以被优化用于执行声学回声消除,而另一个比如 DSP#N 112可以被优化用于执行多带压缩,所以这些操作都被分配到相应的DSP。另外,一个均衡器可以被优化用于移除处于217Hz的倍数的谐波,所以那个操作可以被分配到该特定的均衡器120。如果没有功能块被优化用于用户希望实施的具体功能,则有关操作可以被分配到这些滤波器或均衡器或DSP之一,它可以继而被编程以执行那个功能。
总的信号路由继而被拆分成多个部件信号路径,每个路径涉及一个或多个信号源、以及一个信号目的地,并且每个路径都要求接入该数字混合核的混合器构件。
这些操作继而被限定为可以被存储在与混合器关联的寄存器库 298中,并且可以被控制器300访问(见图20),以使得这些操作按照要求被执行。
图33示出了在限定任何操作之前该寄存器库的一个可能的形式。由此,存在多个信道标识符(identifiers),即信道ID,每个信道 ID与数字混合核中的一相应的信号目的地端口关联。如前文描述的,数字混合核中的功能块可以提供信号目的地(其实,一个更复杂的功能块——诸如完全可编程的数字信号处理块——可以提供若干个独立的信号目的地端口),并且来自数字混合核的每个输出是信号目的地端口。
每个信道ID,即目的地端口,具有与之关联的预定数目的选择器端口。如上面参照图11至图13描述的,选择器端口的数目代表在任何一个采样时钟周期期间可以被连接到与那个信道ID关联的信号目的地的信号源的数目。由此,图33示出了,由信道ID(由十六进制地址代表)0Dh、0Eh和27h代表的信号目的地各具有四个与之关联的选择器,信道ID 14h和15h各具有一个与之关联的选择器,并且信道 ID 57h具有两个与之关联的选择器,以此类推。
在另一个实施方案中,与任何给定的信道ID关联的选择器端口的数目(即,源的最大数目)可完全由用户(即,由包含该开关电路的消费者产品的设计者)可编程。
回到图30中示出的处理,上面提及了所要求的信号路由被拆分成多个信号路径,每个路径涉及一个或多个信号源、以及一个信号目的地,并且每个路径都要求接入数字混合核的混合器构件。对于这些信号路径中的每个信号路径,有关的信号目的地端口(以及关联的信道 ID)在步骤504中被识别。继而,在步骤506中,与那个目的地端口关联的选择器端口之一被选择。
在步骤508中,用于那个选择器的信号源被识别,并且在步骤510 中,增益值被指定,以使得来自已识别的源的信号在传送到信号目的地之前被缩放(要么放大要么缩小)到所要求的程度。
在步骤512中,该源ID和该增益值被存储在该寄存器库的有关行中(即,在图33中示出的对应的寄存器地址),对应于与具有合适信道ID的信号目的地关联的所选择的选择器。
每个信道ID必须也具有与之关联的采样时钟率。该采样时钟率是该功能块预期接收数据以用于处理的速率。例如,与操纵语音信号关联的操作将典型地用8kHz时钟操纵,或者在HD音频的情况下用16kHz 时钟操纵,但与操纵记录器音乐关联的操作将典型地用48kHz时钟操纵。
在图33的实施例中,单个存储位置被用来为每个信道ID独立地限定采样时钟。将采样时钟与每个信道ID关联的其他方法是可行的,并且在一些实施方案中可以是优选的。例如,为了寄存器映射中的规则性,以存储空间为代价,可以优选的是用分立的存储位置来限定用于每个信道ID的每个选择器端口的采样时钟,但是在使用中,用于每个信道ID的选择器的所有采样时钟将必须是相同的。
替代地,可以优选的是将单个存储位置用于与给定的信号处理块关联的所有信道ID(即,目的地端口)。在许多情况下,信号处理块中的内部信号处理将适于仅处于单个采样率的数据,至少在没有采样率转换能力的块中是如此。
该采样率可以由其标称值表示,例如8K、16K或48K。然而,更方便并且要求更少存储的可以是,限定固定的一组比如八个采样时钟,并且向每个采样时钟分配一个3位(即,23=8)识别码,比如000至 111,并且通过存储合适的识别码来将期望的采样时钟关联到每个信道 ID。这也可以允许用相同的标称采样率限定多于一个的采样时钟。在一些应用中,可以存在比如两个标称48kHz时钟,其中每个时钟是从一个不同的时钟源得出的,例如是从不同的附接装置得出的。这些时钟在现实中将总是具有稍微不同的频率和相位,并且在组合或其他处理之前可以要求采样率转换。
由此,为了限定信号路径而必须提供的最少信息是,该信号源端口或每个信号源端口、信号目的地端口、以及相应的数据采样率。在这个实施方案中,也可以存储待被施加到来自信号路径的该信号源端口或每个信号源端口的数据的一相应的缩放因子。
现在将以例示方式给出一个更具体的实施例。
图32例示了由本发明的用户(诸如通信设备的设计者)识别的一系列操作。
图34对应于上面描述的图14,但示出了用于所希望的操作链的这个信号路由如何可以被拆分成多个分立的路径。在图34中,每个信号源由一个实心黑色圆形代表,每个信号目的地由一个实心黑色菱形代表,并且与这些信号目的地之一关联的每个选择器与一个实心黑色方形关联。
如果该智能电话手持机中的传声器被连接到音频集线器的模拟输入550、552,则这些输入中的每个输入都将接收代表该智能电话的用户的语音的信号,并且这些信号将穿过预调节电路系统54、开关电路系统60和向下采样电路系统64,到达该数字混合核的输入554、556。
一个路径558继而被限定为从数字混合核的输入554到与向下采样块164的输入560之一关联的选择器。第二路径562被限定为从向下采样块164的输出564到与第一DSP102的输入108之一关联的选择器,该DSP是为了这个目的而被选择的,因为它可以被编程以执行所要求的声学回声消除(AEC),并且在接收到的语音信号上发送定向环境噪声消除(ANC)处理操作。
相似地,路径568被限定为从数字混合核的输入556到向下采样块164,并且路径570被限定为从向下采样块164的对应的输出到第一DSP 102的输入110中的另一个输入。
路径572被限定为从DSP 102的输出到第N数字音频接口52.N。到这个特定的数字音频接口的连接是因为基带处理器旨在被连接到这个接口。
经由蜂窝电话连接接收到的语音信号被基带处理器操纵,使得这些语音信号在第N数字音频接口52.N被数字混合核50接收,并且首先期望将这些信号传送经过向上采样块162,如路径574所示。
该经向上采样的信号被传送到均衡器120,均衡器120被配置为陷波滤波器(notchfilter),以移除处于217Hz的残余噪声(由GSM 蜂窝系统的特性引起的)及其谐波,如路径576所示。
这个已滤波的信号被传送到第N DSP 112,如路径578所示。第 NDSP 112可以被编程以提供多带压缩(MBC)。如路径580所示,所得到的信号可以继而被传送到数字混合核的输出之一,智能电话扬声器待被连接到该输出。
为了给电话呼叫的发送路径中的语音信号提供参照图32描述的呼叫记录功能,DSP 1的输出被传送到向上采样块162,如路径582 所示,并且经向上采样的信号被传送到与第一数字音频接口52.1上的信号目的地586之一关联的一个选择器584,如路径段(segment)588 所示。到这个特定的数字音频接口的连接是因为该应用处理器(它操纵该呼叫记录功能及其他)旨在被连接到这个接口。
为了给电话呼叫的接收路径中的语音信号提供呼叫记录功能,第 N DSP 112的输出被传送到与第一数字音频接口52.1的同一信号目的地586关联的一个不同的选择器590,如路径段592所示。
注意,与目的地端口586关联的信号路径实际上包括两个路径段, 588和592。总体上,当多个信号被路由到一个信道中时,相应的信号路径将包括多个路径段,它们会聚在混合信道内。当使用仅一个选择器时,该信号路径将包括仅一个路径段。
应意识到,用户可能需要解释大量这样的使用例。例如,存在如上面描述的用于操纵发送语音信号和接收语音信号的标准使用例,以及其中存在来自记录的音乐源的音乐、或者来自关联的无线电接收器的声音的使用例;并且也存在其中铃声音调需要与语音信号混合的使用例,其中有线或无线手持机被连接到智能电话并且输出声音信号需要被合适地导向的使用例,及其他。
图35示出了图34中例示的这些路径(或更严格地,路径段)在该寄存器映射中如何被限定。注意,为了方便,用于图34中的路径段的参考图被包含在这个表格中,但不构成该寄存器映射的一部分。图 36是数字混合核的示意性表示,其中部件被重新布置,以在图36的左手侧示出信号源(即,数字混合核的功能块,以及到数字混合核的信号输入),每个信号源具有一个关联的输入缓冲器(如在图15中由参考编号202.x指示的),并且每个信号目的地(即,数字混合核的功能块,以及来自数字混合核的信号输出)具有一个关联的输出缓冲器(如在图15中由参考编号210.y指示的)。图36示出了这些缓冲器的十六进制总线地址,并且图35示出了用于上面参照图34描述的每个路径的信道ID、选择器数目、采样率、源ID以及增益。
图35基于在如图32中描绘的操作需要在包括音频集线器的消费者设备中被执行期间的一个时间所要求的操作,示出了寄存器映射在一个特定时间的状态。典型地,这些将代表将已被用户(即,包括该音频集线器的产品的设计者)限定以考虑该产品的所有可能的使用和状态的全部操作的仅一小部分。例如,操作将被限定为用于当语音呼叫激活时、当要求放音乐时、当按压键盘的按键时,以及更多。
用于这些操作的配置信息优选地被存储在该产品的存储器中,当该设备运行时所述配置信息是可访问的。例如,该配置信息可以被存储在该产品的ROM中,并且在该产品启动和产品的状态稍后变化时,通过应用处理器被下载到音频集线器。这通常比将所有该信息存储在音频集线器自身中并且标记激活的操作的替代方案要更高效,这是因为它可以使用更高效的存储器类型,并且因为它意味着音频集线器不需要含有足以存储用于未知数目的使用例的配置信息的存储量。此外,在该产品的状态变化时待被下载的数据量相对小。
通过使用合适的图形配置程序,上面描述的路由电路的配置可以对用户简化。为了使得用户能够限定信号路径,向用户呈现开关电路系统的功能块图表1200、或者如图31中示出的混合核的功能块图表 1200。例如,这可以在与正在运行配置进程的计算机关联的屏幕1210 上呈现给用户,例如允许用户使用鼠标和/或键盘或类似物来提供用户输入,以指示所有所要求的使用例。这可以包含开关电路39的其他部分的配置,例如在预调节块或后调节块中施加的任何增益。该配置进程可以与应用中(例如实际原型设备中)的实际开关电路交互,或者可以与该信号处理的仿真交互以帮助调试(debug)。
屏幕也含有示出了可用的功能块的区域1220。由此,图31示出了用户已经将DSP块的一个表示1222拖曳并投放到工作区域1200中的情形,区域1220则示出了三个可用的DSP块之一已被放置。相似地,均衡器1224已被放置,并且区域1220示出了八个可用的均衡器之一已被放置。
用户要求,来自第二数字音频接口1226的数据应传送到均衡器 1224,继而传送到DSP块1222,继而传送到输出1228。
然而,该用户接口也能够辨认功能块之间的每个信号路径必须具有一致的采样率。
然而,已指定,第二数字音频接口1226产生具有8k样本/秒的采样率的数据,而均衡器1224以48k样本/秒运行。由此,采样率转换器1230需要被包含在第二音频接口1226与均衡器1224之间。由此,经过该混合器存在四个所要求的路径,即:以8k样本/秒从第二数字音频接口1226到采样率转换器1230;以48k样本/秒从采样率转换器 1230到均衡器1224;以48k样本/秒从均衡器1224到DSP块1222;以及以48k样本/秒从DSP块1222到输出1228。
采样率转换器1230可以被用户手动地添加,可能继之以对一致采样率的软件检查。替代地,配置软件可以足够智能,以在用户一旦试图提取从第二接口到均衡器的轨迹时,就立即意识到需要所述采样率转换器,并且自动将它插入。
如这里描述的,功能块和接口的采样率由用户指定,从而允许通过接口软件来推断出对采样率转换的需要。互逆地,这些采样率转换器也可以由用户放置,从而允许通过接口软件来推断出这些功能块的采样率。
所要求的所有使用例都可以按照相同的方式被指定。
上面的图32、图34、图35和图36例示了一个使用例,其中提供了呼叫记录功能。
图37a例示了一个替代的使用例,其中提供了本地语音邮件 (Local VoiceMailTM)功能。该本地语音邮件功能可以在如下情况下被激活:当电话用户按压按钮以向本地语音邮件传达呼入的语音呼叫时;或者当电话用户已将该电话设置为使得呼入的语音呼叫被传达到本地语音邮件时,要么在接收到呼叫时被自动传达到本地语音邮件,要么当在预定数目的铃声之后呼叫仍然未被接听(unanswered)时被传达到本地语音邮件。在这些事件的任一个中,这个使用例都被激活。
在这个使用例中,呼叫者被提示为电话用户留下语音消息,并且该语音消息被存储在电话自身中,从而允许电话用户即使在没有网络覆盖可用的情况下也能取得该消息。
具体地,所接收到的语音消息被接收在电话的基带处理器中,该基带处理器在这个情况下被连接到第N数字音频接口52.N。一个信号路径被建立为经过混合器到达第一数字音频接口52.1,应用处理器连接到该第一数字音频接口52.1。因此,该语音消息可以存储在被应用处理器控制和访问的存储器中。替代地,一个信号路径可以被建立为经过混合器到达第一数字音频接口52.1,无线收发器(即,无线编解码器)可以被连接到该第一数字音频接口52.1。因此,该语音消息可以存储在被另一个设备控制和访问的存储器中,该另一个设备被无线连接以从该无线收发器接收数据(即,语音消息)。
经过该混合器的信号路径不需要含有任何采样率转换,这是因为代表该语音消息的数据可以在数字音频接口52.N被接收,并且被传输到数字音频接口52.1,无需从它的原始采样率(例如8k样本/秒)有任何采样率改变,即使存在以较高采样率同时被操纵的其他处理,例如如果所记录的48k样本/秒的采样率的音频信号被传送经过混合器。经过混合器的信号路径也不需要以任何方式被缩放。
该本地语音邮件(LVMTM)功能可以由应用(即,软件,通常被称为“app”)提供,该应用是经由用户支付了许可费的互连网可下载的。
替代地,数字音频集线器可以已经含有该本地语音邮件功能,即,在出厂装货时该本地语音邮件功能已被嵌入数字音频集线器,但处于禁用状态。为了使得嵌入的本地语音邮件能够使用,将要求“密钥”来对禁用该本地语音邮件的锁进行解锁。在这样的场合下,该密钥(即,软件形式的码)经由用户需支付许可费的互联网被下载。
清楚的是,当开发用于本地语音邮件的软件时,需要考虑该设备以及将要求该本地语音邮件起作用的环境。这样的考虑对所谓的软件驱动器的开发者而言是现有技术中的惯例。
一旦被安装或被使能,本地语音邮件(LVMTM)的激活可以由用户经由运行本地语音邮件的设备的键盘或触屏来控制:这样的设备例如是移动电话、智能电话、平板电脑。
可以借助例如从下拉菜单选择一个方案来实施该本地语音邮件如何被激活。替代地,选择可以借助图标进行。该本地语音邮件菜单或图标可以代表,例如,呼入的呼叫是:无需电话响铃而被自动存储;在一定数目的铃声之后,如果用户不接听该呼叫,则被存储;或者不被存储在本地语音邮件中。附加地,菜单或图标可以代表,向呼叫者发送预记录的消息,从而提示呼叫者为电话用户留下语音消息。
当新的本地语音邮件消息被存储在存储器中时,该设备可以借助屏幕上的图标,以与向用户指示新的非本地语音邮件消息大体相同的方式来指示这个事实。
可以经由菜单或图标接入所存储的本地语音邮件。此外,在所存储的本地语音邮件可以被取得之前,也可以要求输入口令。该口令的形式可以是数字和/或字母序列、和/或在触屏情况下是图案。
本地语音邮件的优势包含:万一没有网络覆盖可用,电话用户也能够取得消息;对参与取得本地语音邮件消息的用户没有成本(除了许可费以外);以及降低了与取得非本地语音消息关联的网络的流量。
本地语音邮件的另一个优势是,它较不易受到电话黑客攻击。潜在的“黑客”会需要物理接入该设备,继而,如果该设备受到口令保护,则需要得到该口令来访问所存储的本地语音邮件。
存在其他使用例,其中将数据从一个接口传送到另一个接口而不没有任何缩放或采样率转换的能力对维持数据完整性是重要的,尤其是当数据以某个方式编码时。例如,图37b示出了如下情况:从一个处理器接收的已编码数据(可以是压缩的(compressed)或压扩的 (companded)数据),并旨在被另一个处理器展开或解压扩(即,解码),其中对该数据的任何采样率转换或缩放都会具有在展开之后改变已编码数据的内容的风险。有些相似的是,数据可以在一个接口以一个协议格式被接收,并且在直接路径上被传送经过该混合器到另一个接口而不进行采样率转换或缩放,在该另一个接口中所述数据可以被转换成不同的协议格式。再一次,该数据可以从一个接口被传送到另一个接口而不进行任何采样率转换,即使当数据在其他信号路径上以不同的采样率被传输时。
如上面提及的,在时分复用的基础上,混合器在任何时间在所有活动的路径之间被共享。为了确保设备的正确运行,有必要适当地排序混合器执行的操作。
假定Ns个信号源端口和Nd个信号目的地端口,将所要求的连接排序的一个可能性会是,目的地选择器循环轮流经过这些目的地端口长达Nd个DCLK周期,并且源选择器在这些成组的Ns个DCLK周期中的每组期间循环轮流经过这些源端口。这会花费总的[Ns.Nd]个DCLK 周期。为了简单,对于仅具有小数目的(比如少于10个)源和目的地的路由电路,这可能是一个可接受的实施方式,但对于更典型的具有比如50个源和50个目的地的路由电路(它会要求每SCLK周期2500 个DCLK时钟循环,即使当仅有几个路径段被要求携带信号时),这则非常低效。
对于使用Nm多个混合器的布置,诸如图19中示出的,这可以被降低到[Ns.Nd/Nm],但这在对于小Nm的DCLK循环中仍是低效的,并且对于大Nm在硅面积(silicon area)和电力消耗方面是低效的。目的地要求来自甚至四个信号源端口的数据流的混合是不寻常的,所以即使循环经过所有50个目的地并且允许多达四个选择器端口用于每个信道,也会大大减少所需要的DCLK周期的数目(到4×5=200)。在图14中示出的路由电路中,许多目的地被示出为每信道具有仅一个或两个选择器端口,这被证明是高效的。而且,在大多数使用例中,仅若干个目的地可以被使用,这进一步减少了所需要的DCLK周期的数目。
由此,有利的是为选择器使用仅选择待被使用的路径段(如例如寄存器映射中限定的)的控制电路系统。
在一个固定的时期中可以被执行的路由操作的数目依赖于混合器的数目,并且依赖于数据时钟率与数据采样率的比。理论上可以被要求的路由操作的数目依赖于源端口的数目和目的地端口的数目,并且依赖于数据的采样率。在这里的实施方案中,如上面描述的,混合器的复用使得在一个固定的时期中可以被执行的路由操作的数目远小于理论上可以被要求的路由操作的数目。例如,在一个固定的时期中可以被执行的路由操作的数目可以小于理论上可以被要求的路由操作的数目的四分之一、十分之一、四十分之一或一百分之一。
图38是一个时序图,例示了对从上面参照图32、图34、图35和图36描述的使用例得出的所要求的系列操作进行排序的第一可行方式。
由此,存在十二个数据路由操作(即,路径段),每个数据路由操作需要被有规律地调度,它们中的七个具有48k样本/秒的采样率,并且其他五个具有8k样本/秒的采样率。这些操作在图38中由它们的寄存器地址、信道ID和源ID以及采样率来标识。
数据时钟DCK的时钟周期在该表格的顶部被编号,并且在这些时钟周期的每一个期间,指示了每个操作是否具有未决(pending)计算,或者那个操作是否已经被选择来计算。
图38示出了一个相对简单的情况,其中具有未决计算并且具有最低寄存器地址的操作被选择来计算。由此,到数据时钟周期1,所有操作都具有未决计算,并且在数据时钟周期1期间,处于寄存器地址 010h的操作被选择来计算。在数据时钟周期2期间,处于寄存器地址 010h的操作不再具有未决计算,并且处于寄存器地址014h的操作被选择来计算,以此类推。
该数据时钟率需要被设置得足够高,以使得调度方法使数据以针对每个操作所要求的速率被计算。
这是参照接下来的图被例示的。
由不同页面上的图39(a)和图39(b)组成的图39是第二时序图,例示了对所要求的系列操作进行排序的第二可行方式,所述系列操作是从上面参照图32、图34、图35和图36描述的使用例得出的。
由此,如在图38中一样,存在相同的十二个数据路由操作,每个数据路由操作需要被有规律地调度,它们中的七个具有48kbps的采样率,并且其他五个具有8kbps的采样率。这些操作在图39中由它们的寄存器地址、信道ID和源ID以及采样率标识,但在图39中,具有相同采样率的操作被合并成组,并且它们在每个组内按照它们的信道ID 顺序被列出。
数据时钟DCK的时钟周期在该表格的顶部被编号,并且在这些时钟周期的每一个期间,指示了每个操作是否具有未决计算,或者那个操作是否已经被选择来计算。
图39也示出了针对每个操作的“到绝限的时间(time to deadline)”,尽管它没有被图39的调度方法使用。由此,每个操作在它相应的SCK周期中的每一个期间都必须被执行一次,并且图39的起点是8kHz采样时钟的起点以及48kHz采样时钟的起点。数据时钟 DCK率被设置为使得该8kHz SCK的每个周期期间存在72个DCK周期,从而在48kHz SCK的每个周期期间必然存在12个DCK周期。(即,该数据时钟率被设置到576kHz)。
因此,任何给定的数据时钟周期期间的“到绝限的时间”是在那个采样时钟周期结束之前(即,在该数据路由操作必须被执行的“绝限(deadline)”之前)剩余的数据时钟周期的数目。即,例如,在六个DCK周期之后,在48kHz SCK周期结束之前剩余六个DCK周期,并且在8kHz SCK周期结束之前剩余66个DCK周期。
图39例示了一个调度方法,其中具有未决计算并且具有最高采样率的操作被选择来计算。当存在两个或更多个操作具有未决计算并且具有相同的最高采样率时,具有最低信道ID的操作被选择来计算。当存在两个或更多个操作具有相同的最低信道ID时,具有最低源ID的操作被选择来计算。
由此,到数据时钟周期1,所有操作都具有未决计算,并且在数据时钟周期1期间,处于寄存器地址014h的操作被选择来计算。(它是七个操作中具有最高采样率的一个,并且它在这七个操作的具有最低信道ID的两个操作中具有最低源ID。)
在数据时钟周期2期间,处于寄存器地址014h的操作不再具有未决计算,并且处于寄存器地址016h的操作被选择来计算(它是具有未决计算的六个操作中具有最高采样率的一个,并且它在这些操作中具有最低信道ID)。在数据时钟周期3期间,处于寄存器地址058h的操作被选择来计算,因为它是具有未决计算的五个操作中具有最高采样率的一个,并且它在这些操作中具有最低信道ID,以此类推。
由此,在具有48k样本/秒的采样率的七个操作已经在数据时钟周期1-7期间被执行之后,具有8k样本/秒采样率的五个操作在数据时钟周期8-12期间被执行,这是因为具有48k样本/秒的采样率的七个操作在数据时钟周期8-12期间没有任何未决计算。
用于具有48k样本/秒的采样率的七个操作的接下来的计算继而在数据时钟周期13-19期间被执行,但没有操作在数据时钟周期20-24 期间被执行,这是因为没有操作具有未决计算。
图39示出了这个处理的稍微多于一个的完全计算循环。
由此,图39示出了使用576kHz的数据时钟率实际上稍微低效,因为在某些数据时钟周期期间没有计算可以被调度。
由不同页面上的图40(a)和图40(b)组成的图40是第三时序图,例示了对所要求的系列操作进行排序的第三可行方式,这系列操作是从上面参照图32、图34、图35和图36描述的使用例得出的。
由此,如在图38和图39中一样,同样存在十二个数据路由操作,每个数据路由操作都需要被有规律地调度,它们中的七个具有48kbps 的采样率,并且其他五个具有8kbps的采样率。这些操作在图40中由它们的寄存器地址、信道ID和源ID以及采样率标识,但在图40中,如在图39中一样,具有相同采样率的操作被合并成组,并且它们在每个组内按照它们的信道ID顺序被列出。
数据时钟DCK的时钟周期在该表格的顶部被编号,并且在这些时钟周期的每一个期间,指示了每个操作是否具有未决计算,或者那个操作是否已经被选择来计算。
图40也示出了针对每个操作的“到绝限的时间”,尽管它没有被图40的调度方法使用。
数据时钟DCK率被设置为使得在8kHz SCK的每个周期期间存在 48个DCK周期,从而48kHz SCK的每个周期期间必然存在8个DCK周期。(即,该数据时钟率被设置为384kHz)。
图40也例示了与图39相同的调度方法,其中具有未决计算并且具有最高采样率的操作被选择来计算。当存在两个或更多个操作具有未决计算并且具有相同的最高采样率时,具有最低信道ID的操作被选择来计算。当存在两个或更多个操作具有相同的最低信道ID时,具有最低源ID的操作被选择来计算。(当选择操作来计算时,信道ID需要优先于源ID,以确保充当单个数据目的地的数据源的所有源ID都被一个接一个地选择。)
由此,到数据时钟周期1,所有操作都具有未决计算,并且在时钟周期1期间,处于寄存器地址014h的操作被选择来计算。(它是七个操作中具有最高采样率的一个,并且它在这七个操作里具有最低信道ID的两个操作中具有最低源ID。)
在时钟周期2期间,处于寄存器地址014h的操作不再具有未决计算,并且处于寄存器地址016h的操作被选择来计算(它是具有未决计算的六个操作中具有最高采样率的一个,并且它在这些操作中具有最低信道ID)。在数据时钟周期3期间,处于寄存器地址058h的操作被选择来计算,因为它是具有未决计算的五个操作中具有最高采样率的一个,并且它在这些操作中具有最低信道ID,以此类推。
由此,在具有48k样本/秒的采样率的七个操作已经在数据时钟周期1-7期间被执行之后,具有8k样本/秒的采样率的五个操作仍有未决计算,但具有48k样本/秒的采样率的七个操作没有任何未决计算。
在数据时钟周期8期间,处于寄存器地址010h的操作被选择来计算(具有未决计算的五个操作都有相同采样率,并且它在这些操作中具有最低信道ID)。
在数据时钟周期9期间,48kHz SCK的一个新的SCK周期开始,所以具有48k样本/秒的采样率的七个操作现在再一次有了未决计算。由此,具有48k样本/秒的采样率的七个操作在数据时钟周期9-15期间被执行,以与之前相同的顺序。在数据时钟周期15之后,具有48k 样本/秒的采样率的七个操作没有任何未决计算,处于寄存器地址 010h的操作也没有任何未决计算。因此,在数据时钟周期16期间,处于寄存器地址06Eh的操作被选择来计算(具有未决计算的四个操作都有相同采样率,并且它在这些操作中具有最低信道ID)。
这个处理重复,其中具有8k样本/秒的采样率的五个操作在数据时钟周期8、16、24、32和40期间被执行。图40示出了稍微多于一个的完全计算循环,从这里可以看到,使用384kHz的数据时钟率足以允许所有所要求的计算被调度。事实上,在数据时钟周期48期间没有计算被执行,这是因为没有操作具有未决计算。
由不同页面上的图41(a)和图41(b)组成的图41是第四时序图,例示了对所要求的一系列操作进行排序的第四可行方式。
在图41例示的实施例中,存在相同的十二个数据路由操作,每个数据路由操作需要被有规律地调度,但在这个情况下,较高数据率的七个操作具有44.1k样本/秒的采样率,并且其他五个具有8k样本/ 秒的采样率。这些操作在图41中由它们的寄存器地址、信道ID和源 ID以及采样率标识,并且在图41中,如在图39和图40中一样,具有相同采样率的操作被合并成组,并且它们在每个组内按照它们的信道ID顺序被列出。
数据时钟DCK的时钟周期在该表格的顶部被编号,并且在这些时钟周期的每个期间,表明了每个操作是否都具有未决计算,或者那个操作是否已经被选择来计算。
图41也示出了针对每个操作的“到绝限的时间”,尽管它没有被图41的调度方法使用。
数据时钟DCK率被设置为使得在44.1kHz SCK的每个周期期间存在8个DCK周期。即,该数据时钟率被设置到352.8kHz。该8kHz速率与这个数据时钟率同步,所以一个8kHz周期可以含有44或45个 DCK周期。在所例示的实施方式中,假定了最坏的情况,因为不能预测哪些周期将含有44个DCK周期以及哪些周期将含有45个DCK周期。由此,假定每个8kHz周期都含有44个DCK周期。
在所有这些例示的情况中都使用“堆沙袋法(sandbagging)”也是可行的,尤其是当事先不知晓确切的采样时钟率时。例如,如果具有44.1kHz的标称采样时钟率的数据的采样率实际上独立于该DCK,则实际上在一些情形下它可以小于44kHz,所以为了安全可以假定每个8kHz周期都含有仅43个DCK周期。
在计算阶段之前包含“学习循环(learning cycle)”也是可行的,在学习循环中确定实际的采样时钟率。由此,在初始周期期间,这些信号的采样时钟率被测量,并且所测得的采样时钟率被用作后续调度的基础。
图41例示了与图39和图40相同的调度方法,其中具有未决计算并且具有最高采样率的操作被选择来计算。当存在两个或更多个操作具有未决计算并且具有相同的最高采样率时,具有最低信道ID的操作被选择来计算。当存在两个或更多个操作具有相同的最低信道ID时,具有最低源ID的操作被选择来计算。
由此,在数据时钟周期1的开始,所有操作都具有未决计算,并且在时钟周期1期间,处于寄存器地址014h的操作被选择来计算。(它是七个操作中具有最高采样率的一个,并且它在这七个操作里具有最低信道ID的两个操作中具有最低源ID。)
在数据时钟周期2期间,处于寄存器地址014h的操作不再具有未决计算,并且处于寄存器地址016h的操作被选择来计算(它是具有未决计算的六个操作中具有最高采样率的一个,并且它在这些操作中具有最低信道ID)。在数据时钟周期3期间,处于寄存器地址058h的操作被选择来计算,因为它是具有未决计算的五个操作中具有最高采样率的一个,并且它在这些操作中具有最低信道ID,以此类推。
由此,在具有44.1k样本/秒的采样率的七个操作已经在数据时钟周期1-7期间被执行之后,具有8k样本/秒的采样率的五个操作仍有未决计算,但具有44.1k样本/秒的采样率的七个操作没有任何未决计算。
在数据时钟周期8期间,处于寄存器地址010h的操作被选择来计算(具有未决计算的五个操作都有相同采样率,并且它在这些操作中具有最低信道ID)。
在数据时钟周期9期间,44.1kHz SCK的一个新的SCK周期开始,所以具有44.1k样本/秒的采样率的七个操作现在再一次有了未决计算。由此,具有44.1k样本/秒的采样率的七个操作在数据时钟周期 9-15期间被执行,以与之前相同的顺序。在数据时钟周期15之后,具有44.1k样本/秒的采样率的七个操作没有任何未决计算,处于寄存器地址010h的操作也没有任何未决计算。因此,在数据时钟周期16 期间,处于寄存器地址06Eh的操作被选择来计算(具有未决计算的这四个操作都有相同采样率,并且它在这些操作中具有最低信道ID)。
这个处理重复,其中具有8k样本/秒的采样率的五个操作在数据时钟周期8、16、24、32和40期间被执行。
因为图41中例示的数据时钟比图40中例示的数据时钟运行得稍微较慢,该8kHzSCK的SCK周期在数据时钟周期44处结束,且因此具有8kbps采样率的五个操作从数据时钟DCK周期45往后具有未决计算。
这意味着,在数据时钟周期48期间,处于寄存器地址010h的操作可以被选择来计算。
图42是又一个时序图,例示了对所要求的系列操作进行排序的又一个可行方式。为了例示这个排序方法与上面描述的排序方法的区别,现在存在十四个数据路由操作,每个数据路由操作都需要被有规律地调度,它们中的七个操作具有48k样本/秒的采样率,并且其他七个具有32k样本/秒的采样率。这些操作在图42中由它们的寄存器地址、信道ID和源ID以及采样率标识。在图42中,具有相同采样率的操作被合并成组,并且它们在每个组内按照它们的信道ID顺序被列出。
数据时钟DCK的时钟周期在该表格的顶部被编号,并且在这些时钟周期的每个期间,指示了每个操作是否具有未决计算,或者那个操作是否已经被选择来计算。
每个操作在它相应的SCK周期中的每一个期间必须被执行一次,并且图42的起点是32kHz采样时钟的起点以及48kHz采样时钟的起点。数据时钟DCK率被设置为使得32kHzSCK的每个周期期间存在18 个DCK周期,从而48kHz SCK的每个周期期间必然存在12个DCK周期。 (即,该数据时钟率被设置为576kHz)。
图42也示出了针对每个操作的“到绝限的时间”。因此,任何给定的数据时钟周期期间的“到绝限的时间”是在那个采样时钟周期结束之前(即,在该数据路由操作必须被执行的“绝限”之前)剩余的数据时钟周期的数目。即,例如,在从图42的起点算起的六个DCK周期之后,在48kHz SCK周期结束之前剩余六个DCK周期,并且在32kHz SCK周期结束之前剩余十二个DCK周期。
图42例示了一个调度方法,其中具有未决计算并且具有最短“到绝限的时间”的操作被选择来计算。当存在两个或更多个操作具有未决计算并且具有相同的最短的“到绝限的时间”时,具有最高采样率的操作被选择来计算。当存在两个或更多个操作具有未决计算并且具有相同的最短的“到绝限的时间”以及相同的最高采样率时,具有最低信道ID的操作被选择来计算。当存在两个或更多个操作具有相同的最低信道ID时,具有最低源ID的操作被选择来计算。
由此,在数据时钟周期1之前,所有操作都具有未决计算,并且在数据时钟周期1期间,处于寄存器地址014h的操作被选择来计算。 (它是七个操作中具有相同的最短“到绝限的时间”和最高采样率的一个,并且它在这七个操作里具有最低信道ID的两个操作中具有最低源ID。)
在数据时钟周期2期间,处于寄存器地址014h的操作不再具有未决计算,并且处于寄存器地址016h的操作被选择来计算(它是具有未决计算的六个操作中具有最短“到绝限的时间”以及最高采样率的一个,并且它在这些操作中具有最低信道ID)。在数据时钟周期3期间,处于寄存器地址058h的操作被选择来计算,这是因为它是具有未决计算的五个操作中具有最短“到绝限的时间”以及最高采样率的一个,并且它在这些操作中具有最低信道ID,以此类推。
由此,在具有48k样本/秒的采样率的七个操作已经在数据时钟周期1-7期间被执行之后,仅具有32k样本/秒的采样率的七个操作有未决计算,并因此这七个操作中的五个(即,具有最低信道ID的五个操作)在数据时钟周期8-12期间被执行。
在数据时钟周期13之前,48kHz采样时钟周期的一个新的SCK周期开始,因此具有48k样本/秒的采样率的七个操作,以及具有32k样本/秒的采样率的七个操作中的剩余两个,具有未决计算。
在数据时钟周期13期间,处于寄存器地址064h的操作被选择来计算(具有最短“到绝限的时间”的带有未决计算的两个操作都有相同采样率,它在这之中具有较低信道ID)。相似地,在数据时钟周期 14期间,处于寄存器地址065h的操作被选择来计算(它现在是具有最短“到绝限的时间”的带有未决计算的唯一操作)。
应注意,这个调度方法因此产生了与上面描述的调度方法不同的结果,在上面描述的调度方法中,在数据时钟周期13和14期间,具有较高的48k样本/秒的采样率的操作中的两个原本会被选择来计算。事实上,上面描述的其他调度方法原本不能够在不提高数据时钟率的情况下调度所有所要求的操作。
在数据时钟周期15-18期间,具有32k样本/秒的采样率的操作具有最短“到绝限的时间”,但它们都没有未决计算,因此具有48k样本/秒的采样率的操作中的前四个操作被选择来计算。
在数据时钟周期19之前,32kHz采样时钟的一个新的SCK周期开始,所以具有32k样本/秒的采样率的七个操作有了未决计算。然而,具有48kbps采样率的操作现在具有最短“到绝限的时间”,因此在数据时钟周期19-21期间,具有48k样本/秒的采样率的操作中的后三个操作被选择来计算。
在数据时钟周期22-24期间,具有48k样本/秒的采样率的操作具有最短“到绝限的时间”,但它们都没有未决计算,因此具有32k样本/秒的采样率的操作中的前三个操作被选择来计算。
在数据时钟周期25之前,48kHz采样时钟的一个新的SCK周期开始,因此具有48k样本/秒的采样率的七个操作,以及具有32k样本/ 秒的采样率的剩余四个操作,都有了未决计算。
此外,具有未决计算的所有操作现在具有相同的“到绝限的时间”,因此该采样率被用作选择基础,并且在数据时钟周期25-31期间具有 48k样本/秒的采样率的七个操作被选择来计算,这意味着具有32k样本/秒的采样率的剩余四个操作直到数据时钟周期32-35才被选择用于计算。在数据时钟周期36中,没有操作有未决计算。
图43更详细地示出了图3中示出的时钟生成电路80。时钟生成电路80包括锁频环(FLL)1100,用于从输入时钟信号生成处于第一时钟频率(CF1)的第一时钟信号。在所例示的实施方案中,FLL 1100 能够接收第一主时钟信号和第二主时钟信号。例如,该第一主时钟信号和该第二主时钟信号可以在音频集线器集成电路自身上被生成,或者可以是从片外源(诸如用于含有音频集线器的设备中的其他目的的晶体振荡器,或USB时钟源)接收的。FLL1100也接收用于控制该FLL 的控制信号,以使得该第一时钟信号以期望的频率被生成,不论那时哪个主时钟信号可用。在所例示的实施方案中,该第一时钟频率是 49.152MHz,即1024×48kHz,如音频系统和应用中普遍使用的。
该第一时钟信号被传送到第一分频器1102,第一分频器1102将该第一时钟频率除以2,以生成处于第二时钟频率(CF2)的第二时钟信号。由此,在所例示的实施方案中,该第二时钟频率是24.576MHz。该第二时钟信号被传送到第二分频器1104,第二分频器1104将该第二时钟频率除以2,以生成处于第三时钟频率(CF3)的第三时钟信号。由此,在所例示的实施方案中,该第三时钟频率是12.288MHz。该第三时钟信号被传送到第三分频器1106,第三分频器1106将该第三时钟频率除以2,以生成处于第四时钟频率(CF4)的第四时钟信号。由此,在所例示的实施方案中,该第四时钟频率是6.144MHz。
该第一时钟信号也被传送到第一开关1108,而该第二时钟信号被传送到第二开关1110,该第三时钟信号被传送到第三开关1112,并且该第四时钟信号被传送到第四开关1114。
芯片包含多个IP块(即,功能块)1120、1122、1124,其中仅有三个在图43中被示出,尽管应意识到,现实中将存在多得多的这样的块。例如,IP块1120、1122、1124可以是可编程的数字信号处理块,或者具有固定功能的数字信号处理块,如上面描述的。尤其,期望的是,IP块1120、1122、1124之一应是上面描述的混合器。
对于IP块1120、1122、1124中的每一个,都有一个优选时钟频率。这个优选时钟频率可以是固定的,或者它可以根据特定时间的处理负载而改变。尤其,上面描述的混合器的优选时钟频率将根据需要被处理的信号路径的数目而改变,如参照图38至图42描述的。
IP块1120、1122、1124中的每一个关联有一相应的复用器1126、 1128、1130。复用器1126、1128、1130中的每一个都接收处于这四个时钟频率CF1、CF2、CF3、CF4的所有四个时钟信号。
IP块1120、1122、1124中的每一个都至少在那个特定时刻向相应的复用器1126、1128、1130传递一个控制信号,指示优选时钟频率。由此,每个复用器1126、1128、1130都向它关联的IP块1120、1122、 1124传递一个处于该优选时钟频率的时钟信号。这具有如下优势:每个IP块都可以运行在如下的时钟频率,该时钟频率足够高以提供所要求的功能,但没有高到不必要地消耗电力。
有利地,尽管IP块1120、1122、1124可以物理上位于芯片中的任何位置,但关联的复用器1126、1128、1130物理上靠近FLL 1100 和分频器1102、1104、1106。这具有如下效果:时钟信号不被分配到不要求它们的IP块。
进一步,由IP块1120、1122、1124生成的指示它们各自的优选时钟频率的控制信号也被传送到逻辑块1136。这确定了,对于时钟频率CF1、CF2、CF3、CF4中的每一个,是否存在要求那个时钟频率的IP块。
对于被这些IP块中的至少一个要求的时钟频率CF1、CF2、CF3、CF4中的每一个,逻辑块1136确保了相应的开关1108、1110、1112、1114 保持闭合(closed)。然而,如果时钟频率CF1、CF2、CF3、CF4之一不被任何IP块需要,则逻辑块1136确保了相应的开关1108、1110、1112、1114保持断开(open)。这具有如下优势:在即使将这个时钟信号分配远至复用器1126、1128、1130时,也不会不必要地消耗电力。
图44更详细地示出了图3中示出的时钟生成电路80的一个替代的形式。
该芯片包含多个块1200.1、1200.2、……、1200.M,其中仅第一个被详细示出在图44中。例如,块1200.1、1200.2、……、1200.M 可以是可编程的数字信号处理块,或者是具有固定功能的数字信号处理块,如上面描述的。尤其,期望的是,块1200.1、1200.2、……、1200.M之一应是上面描述的混合器。
块1200.1、1200.2、……、1200.M中的每一个包含一相应的功能块1210、一个N∶1复用器1212和控制逻辑1214。对于块1200.1、 1200.2、……、1200.M中的每一个都有一个优选时钟频率。这个优选时钟频率可以是固定的,或者它可以根据特定时间的处理负载而改变。尤其,上面描述的混合器的优选时钟频率将根据需要被处理的信号路径的数目而改变,如上面描述的。
时钟生成器1216能够以N个频率产生时钟信号,在这个实施例中是49.152MHz、24.576MHz、12.288MHz和6.144MHz。
IP块1200.1、1200.2、……、1200.M中的每一个都至少在那个特定时间向M∶N或门1218传送一个N位信号,指示它的优选时钟频率。在IP块1200.1、1200.2、……、1200.M希望改变它的优选时钟频率时,它向M∶N或门1218传送的信号指示它希望变化到的频率,但也指示它的当前频率直到该变化已实现之时为止。
因此,或门1218的输出是一个N位信号,指示了可用频率中的哪些被块1200.1、1200.2、……、1200.M中的任何一个要求。
因此,时钟生成器1216仅生成处于被块1200.1、1200.2、……、 1200.M中的一个或多个所要求的那些频率的时钟信号。
所生成的每个时钟信号被传送到N∶1复用器1212中的每一个,并且每个块1200.1、1200.2、……、1200.M中的控制逻辑1214选择相应的功能块1210所要求的频率。优选地,复用器1212位于靠近时钟生成器1216处(尽管这可能相对远离它们各自的功能块1210),这是因为这减小了与沿着长路径传送不必要的高频率时钟信号关联的电力损失。
另外,时钟生成器1216向电源控制块1220发送控制信号,指示它正在生成的最高频率。电源控制块1220继而向电源1222发送信号,该信号控制它的输出电压,该输出电压是作为电源电压向块1200.1、 1200.2、……、1200.M中的每一个供给的电压。
大体上,如果功能块以较慢时钟运行,则它可以以较低供给电压 (supplyvoltage)运行。(因此,根据不同功能块的时钟率,向不同的功能块提供不同的供给电压会是可行的。)然而,如果向每一个功能块提供相同的供给电压,则可以实现硅的更高效使用。因此,在这个实施方案中,向每一个功能块提供相同的供给电压,但这根据向任何一个功能块供给的最高时钟频率而变化。
图44a更详细地示出了图3中示出的时钟生成电路80的一个替代的形式。该替代的时钟生成电路80.1包括锁频环(FLL)1100,用于从输入时钟信号生成处于第一时钟频率(CF1)的第一时钟信号。在所例示的实施方案中,FLL 1100能够接收第一主时钟信号和第二主时钟信号。例如,该第一主时钟信号和该第二主时钟信号可以在该音频集线器集成电路自身上被生成,或者可以是从片外源(诸如用于含有音频集线器的设备中的其他目的的晶体振荡器,或USB时钟源)接收的。 FLL 1100也接收用于控制该FLL的控制信号,以使得该第一时钟信号以期望的频率被生成,不论那时哪个主时钟信号可用。在所例示的实施方案中,该第一时钟频率是49.152MHz,如音频系统和应用中普遍使用的。
如在图43中一样,为了例示的目的示出了三个IP块1120、1122、 1124。每个IP块都有它自己的优选时钟频率,并且由IP块1120、1122、 1124生成的指示了它们各自的优选时钟频率的控制信号也被传送到逻辑块1136.1。
由FLL 1100生成的时钟信号以时钟门的形式被传送到脉冲跳越块 (pulse skipblock)1140。脉冲跳越控制块1142含有计数器,用于计数由FLL 1100生成的时钟信号中的脉冲。来自脉冲跳越控制块1142 的控制信号被传送到复用器1144和控制分配块1146。具体地,在这个例示的实施方案中,脉冲跳越控制块生成了四个数据信号,处于四个可用的时钟频率,即49.152MHz、24.576MHz、12.288MHz和6.144MHz。
逻辑块1136.1确定了这四个可用时钟频率中的哪个是IP块1120、 1122、1124中的任何一个要求的最高时钟频率。基于该确定,逻辑块 1136.1控制复用器1144,以使得处于那个最高频率的数据信号被传送到脉冲跳越块1140的控制输入。作为响应,脉冲跳越块1140可以跳越由FLL 1100生成的时钟信号中的某一比例的脉冲,以生成处于IP 块1120、1122、1124中的任何一个所要求的最高时钟频率的时钟信号。这个时钟信号继而被从脉冲跳越控制块1140传送到分别与这三个IP 块1120、1122、1124关联的脉冲跳越块1148、1150、1152。脉冲跳越块1148、1150、1152中的每一个被一相应的复用器1154、1156、 1158控制。
处于这四个可用时钟频率的这四个数据信号也被从脉冲跳越控制块1142传送到控制分配块1146,控制分配块1146也从逻辑块1136.1 接收控制信号。具体地,逻辑块1136.1确定了这四个可用时钟频率中的哪些被IP块1120、1122、1124中的一个或多个所要求。基于这个确定,控制分配块1146确保了处于被IP块1120、1122、1124中的一个或多个要求的该频率或每个频率的数据信号被传送到复用器1154、 1156、1158。由此,控制分配块1146屏蔽了处于不被IP块1120、1122、 1124中的任何一个需要的频率的数据信号,以使得它们不在该芯片上被不必要地扇出。
IP块1120、1122、1124中的每一个被连接以向它相应关联的复用器1154、1156、1158发送控制信号,以使得该复用器向关联的脉冲跳越块1148、1150、1152发送处于该IP块要求的频率的数据信号。脉冲跳越块1148、1150、1152继而造成了跳越来自脉冲跳越块1140的时钟信号中的所要求的一部分脉冲,以使得处于所要求的频率的时钟信号被传送到相应的IP块1120、1122、1124。
这具有如下优势:该时钟信号沿着单个路径被分配,不论频率如何。尽管处于不同频率的数据信号被分配,但它们不需要被平衡,所以它们可以在芯片上传播,而不太需要关注信号路径的长度,因为时序对于这些未平衡的信号不太是问题。
图44b更详细地示出了图3中示出的时钟生成电路80的再又一个实施方案。这个替代的时钟生成电路80.1与图44a中示出的替代的时钟生成电路80.1相似,并且与图44a的特征具有相同功能的特征被用相同的参考编号指示。
在图44b中示出的实施方案中,每个IP块1120、1122、1124具有一相应的脉冲跳越控制器1160、1162、1164,所述脉冲跳越控制器 1160、1162、1164从脉冲跳越控制块1142接收一相应的信号。基于从脉冲跳越控制块1142接收的该相应的信号,每个脉冲跳越控制器1160、1162、1164造成它各自的脉冲跳越块1148、1150、1152跳越来自脉冲跳越块1140的时钟信号中的所要求的一部分脉冲,以使得处于所要求的频率的时钟信号被传送到相应的IP块1120、1122、1124。
这意味着,向每个IP块发送仅一个同步信号,而不是更大数目的脉冲跳越控制信号。
图44c示出了对图44的一个替代方案,例示了在时钟生成如图 44 a或图44 b中示出的那样被执行的情形下的源电压控制。在这个情况下,仅一个时钟被分配到IP块1200。再一次,在选择控制信号和脉冲跳越块1226的控制下,有脉冲跳越控制信号被分配到这些IP块,以使得每个IP块可以选择合适的脉冲跳越率以及跳越那个时钟的脉冲,以提供具有期望频率的时钟。如前文参照图44描述的,该源电压基于所要求的采样时钟被控制。
图45至图55更详细地例示了本发明的一个实施方案中的混合器——例如图15中示出的混合器290——的运行。图45是一个框图,例示了该混合器的功能性结构及其他内容;图46、图47和图48是流程图,例示了该混合器的一些部分的运行;图49是一个框图,更详细地例示了该混合器中的使能和时钟控制块;图50是一个流程图,更详细地示出了图48的方法的一部分;图51是一个流程图,例示了在该混合器中的MAC利用预测器(utilisationpredictor)中执行的方法;图52是一个框图,更详细地例示了该混合器中的信道调度器块;图 53是一个流程图,例示了在该信道调度器中执行的方法;图54是一个框图,例示了该混合器中的计算流水线;并且图55是一个流程图,例示了在该信道调度器和该计算流水线中执行的方法。
在图45至图55的描述中,术语“信道”被用来指代信号目的地端口,它是从该混合器到特定DSP功能的输出,或者是从芯片的输出:一个信道具有唯一地址,以使得输出数据可以在共享总线上被发送。每个输出信道具有一个或多个“选择器”,每个选择器代表到输入信号或信号源端口的一个可能的连接:一个选择器具有一个关联的寄存器以通过它在输入总线上的地址来选择输入信号,以及可选地具有一个关联的寄存器以向那个路径段施加增益系数。
图45例示了混合器的总体功能性结构,并且图46是一个流程图,提供了音频编解码器中的混合器的运行的概况。
图45中示出的混合器600包括寄存器库602,该寄存器库602在控制接口650上被应用处理器编程,该控制接口则被系统编程者(例如用户)编程,以在该混合器中设置所要求的连接,包含增益控制以及向可用采样率之一分配每个信道。由此,对应于每个已编程的使用例的操作被存储在与该应用处理器关联的存储器中,该应用处理器也监测整个设备的状态。对应于活动的使用例的操作继而基于这个状态被下载到寄存器库602。由此,例如,当智能电话被用来借助例如外部系统23将所记录的音乐放音时,针对那个使用例的有关操作被存储在寄存器库602中。当电话呼叫开始时,用于操纵语音呼叫的使用例被下载。当该设备的用户插入头戴机时,针对那个使用例的有关操作被下载到寄存器库602,以此类推。
使能和时钟控制块604基于用户通过寄存器库的请求来控制哪些输入选择器/输出信道被使能和禁用。
即,在任何给定时刻,寄存器库602向使能和时钟控制块604指示是否每个选择器都被请求使能,而且指示每个信道的采样率以及每个SCK的频率。
当已经完成数据到寄存器库602的写入(图46中的步骤680)时,使能和时钟控制块604也控制时钟传动(clock gearing),以使得用于混合器的数据时钟(DCK)可以被缩放到适当的频率。即,它决定了是否该数据时钟(DCK)足够快(图46中的步骤682),并且如果它太慢则调整它(图46中的步骤684)。指示哪些选择器活动的标志 (flag)在图46的步骤686中被置位(set)。
信道调度块620选取待被计算的下一个输出信道。图47是一个流程图,例示了在信道调度块620中执行的一个方法。由此,当一个新的数据时钟(DCK)沿被检测到时(图47中的步骤688),信道调度块620更新它对采样时钟(SCK)的监测,以确定针对每个采样时钟率的到绝限的时间,如下面更详细地描述的。
图48是又一个流程图,示出了在信道调度块620和计算块630中执行的一个方法。在这个实施方案中,信道调度块620选择具有最早绝限的信道作为下一个待被计算的信道(图46中的步骤694)。所选择的信道被通知给计算块630,该计算块630生成针对所选择的信道的输出(图48中的步骤696),并且这被重复,直到那个SCK周期中要求的所有计算都已被完成。
计算流水线块630控制取得用于一个输出样本值(output sample value)的数据,并且执行该输出样本值的计算。在计算流水线块630 中,在若干数据时钟(DCK)周期上执行计算,如上面描述的。每个输出值可以需要组合来自一个或多个输入的数据,并且在信道计算控制块634的控制下运行。因此,控制块634从调度器620获得待被执行的下一个计算的信道ID(即,输出地址),并且控制块634随后发送总线控制信号和用于MAC 292的控制信号,MAC 292迭代(iterate) 这些计算步骤。
一旦该计算的最终步骤已被执行,就使用该信道的输出地址将结果经由输出总线(op_all总线)640发送到合适的输出缓冲器642。如上面描述的,输出缓冲器642与相应的信号目的地关联,并且使每个输出样本在有关采样时钟的已执行计算的周期之后的一个周期的整个持续时间上可用。输出继而可以在那个接下来的采样时钟周期期间的某点经由一相应的输出总线644被传输到计划的输出。
如上面提及的,可以改变该数据时钟DCK频率,并且优选地该数据时钟DCK频率被保持在与确保所有所要求的操作都能够被执行相符的最低频率,以有利地使电力消耗最小化。由此,如图49中所示,并且如下面更详细地描述的,使能和时钟控制块604包含:选择器状态块606,它指示在任何一个时间哪些操作是活动的;以及MAC利用预测器(MUP)功能608,它确定针对当前被使能的或被要求使能的所有选择器执行计算所要求的数据时钟(DCK)的最小频率。
图50是一个流程图,例示了由使能和时钟控制块604执行的一个方法。
图50的方法在步骤720开始,但处理在步骤722才开始,此时已完成将数据写入到寄存器库602(如在图48中的步骤680也示出的)。
在步骤724中,确定了可能的选择器中的哪些选择器在那个具体时间是期望的。如参照图49更详细地描述的,如果某选择器在那个时间被处理器之一请求,并且/或者如果该选择器保持是“当前 (current)”的,则该选择器被确定是“被期望(desired)”的。
如图49中所示,针对用于每个信道的每个可能的选择器输入,使能和时钟控制块604都含有一个选择器状态块606,为了清楚,在图 49中仅示出了一个这样的选择器状态块606。
每个选择器状态块606包含复用器750,并且这些复用器中的每一个复用器接收对应于所有可用采样时钟(SCK)的速率的输入。每个复用器750接收一个选择输入,对应于适于与那个选择器关联的信道的SCK,。锁存器752继而在那个合适的采样时钟信号的每个上升沿被计时。
每个选择器状态块606也在它的输入线路754上接收标志,该标志表示那个特定选择器是否已“被请求(requested)”,即,它是否已被寄存器库602识别为正被用在这些活动的使用例之一中。该选择器“被请求”标志被传送到与门756的一个输入,而且也被传送到锁存器758,锁存器758仅当它接收到来自时钟传动控制块610的DCK “同意(OK)”信号(指示当前的数据时钟(DCK)率可接收地快)时才将该标志继续传送到与门756的第二输入。如果该DCK时钟频率当前不足够快但可以被加速,则这可以临时阻挡这个选择器被处理,直到该加速已发生。如果该DCK时钟频率处于最大,则这可以永久阻挡该选择器变得可操作。
如果该选择器“被请求”标志被置位并且也被锁存器758传送,则与门756生成选择器“活动”标志。该选择器“活动”标志被传送到锁存器752,基于从复用器750供给的控制信号,该锁存器752将该选择器“活动”标志作为选择器“当前”标志继续传送。该选择器“活动”标志也被传送到信道调度器,如下面更详细地描述的。
选择器“当前”标志被置位的这些选择器的ID被传送到计算流水线块630的信道计算控制块634。这些选择器是操作性的,并且需要在当前采样时钟周期中被处理。由此,当一个选择器被请求时,它将首先变为“活动”,但直到它的下一个SCK周期开始才变为“当前”,以当或许不可能调度它时,防止这刚好在一个SCK周期结束之前发生。
而且,所述选择器“被请求”信号和所述选择器“当前”信号被传送到或门760,并且每个选择器状态块606中相应的或门的输出作为选择器“被期望”位被传送到MAC利用处理器(MUP)块608。因此,当确定所要求的数据时钟率时,“被期望”标志被置位的选择器被纳入考虑,如下面描述的。由此,对于已经“被请求”的任何选择器置位该“被期望”标志,即使该选择器尚未变得“活动”;而且也对于保持“当前”的任何选择器置位该“被期望”标志,即使该选择器已停止被“被请求”或“活动”。
使能和时钟控制块604也包含用于每个SCK的SCK状态块762。每个SCK状态块控制它相应的SCK的频率,尤其是当被要求时管理从一个频率到另一个频率的转变时。在一个实施例中,SCK状态块762 的数目可以例如是四个,这意味着在任何一个时间可以有四个不同的 SCK可用。然而,这四个SCK可以是从已经变得潜在可用的更大的一组SCK中选择的。
当要求处于特定频率的SCK时钟时,SCK freq[1]寄存器被改变到代表新要求的频率的值。该寄存器值可以用任何方便的方式被映射到该频率。如果存在某种顺序以使得在一个实施例中这个映射可以被选择为匹配用于配置数据率的具体工业标准,则该实施方式是最简单的。例如:1=12kHz;2=24kHz;3=48kHz;等等;9=11.025kHz;10=22.05kHz; 11=44.1kHz;12=88.2kHz;等等;16=4kHz;17=8kHz;18=16kHz;等等。这个值代表新频率被传送到锁存器764,在这里它被锁存直到该改变可以被调度。
锁存器764被或门766控制。或门766的一个输入是上面提及的来自时钟传动控制块610的DCK“同意”信号,它指示了当前数据时钟(DCK)率可接受地快。或门766的第二输入是比较器768的输出,它确定了新请求的SCK频率是否小于当前活动的SCK频率。如果已确定当前数据时钟(DCK)率可接受地快,或者如果确定了该新请求的 SCK频率小于当前活动的SCK频率,则该新请求的SCK频率被传送经过锁存器764,以使得它变成当前活动的SCK频率。这个频率继而被传送到该信道调度器中的向下计数器,如下面更详细地描述的。
活动频率也被传送到第二锁存器770,该第二锁存器770被SCK 时钟信号控制。这确保了该活动频率直到下一个SCK时钟周期的开始才能变成“当前”频率。当该改变发生时,指示“当前”频率的信号被传送到SCK生成器,该SCK生成器使得该信号以那个频率被生成。
指示“被请求”SCK频率、“活动”SCK频率和“当前”SCK频率的信号被传送到块772,块772确定这些频率中的哪个是最高的。当确定是否所有所要求的SCK频率都能在当前DCK率被调度时,这三个频率中的最高频率代表最坏的情况。因此,块772的输出被传送回到MUP 608,让它确定当前DCK率是否合适,如下面更详细地描述的。
在图50中示出的处理的步骤726中,MUP块608计算所要求的最小DCK频率,以允许所有所要求的操作都在它们相应的采样时钟周期中被调度。
图51是一个更详细的流程图,例示了在MAC利用处理器(MUP) 块608中执行的处理。
图51的处理在步骤778开始,并且存储在累加器中的值在步骤 780中被清除。
在步骤784中,选择这些SCK之一,SCK(n),并且计数与那个SCK 关联的选择器(针对该选择器,MUP块608已从相应的或门760接收了选择器“被期望”位)的数目。该计数值在步骤786中被增加第一数目,以考虑到经由计算流水线的延迟。意识到单个流水线计算花费5个DCK周期,该第一数目可以例如是5。该计数值在步骤788被增加第二数目,以考虑到当改变该SCK率时该计算流水线块中的可能的延迟。该第二数目可以例如是3,即,比每信道的选择器的最大数目小一。
因此,已增加的计数值代表在最坏情况下对处于那个SCK率的所有“被期望”的选择器的可能效果的保守估计。
在步骤790中,限定了任意时间周期。为了方便,那个任意时间周期可以被设置为处于可用的SCK率的信号的周期的最小公倍数。例如,如果可用的SCK率是8kHz和48kHz,则它们的周期是1/(8kHz) 和1/(48kHz),并且该任意时间周期可以是1/(8kHz),即125μs。
为了允许SCK(n)的频率的所请求的改变,获得SCK(n)的最坏情况频率,如由相应的块772的输出决定的。继而计算在这个任意时间周期中的SCK(n)周期的最坏情况(即,最大可能)数目。在上面给出的实施例中,在该1/(8kHz)的任意时间周期中存在8kHz时钟的一个周期,和48kHz时钟的六个周期。这个周期数目在步骤790中被乘以在步骤788中得到的计数值。
在步骤790中得到的乘积在步骤792中被加到一个累加器值。
步骤784-792继而针对每个SCK被重复。当然,同等地,步骤 784-792可以针对每个SCK并行地被执行。
在步骤792已被最后一次执行之后得到的最终累加器值,代表在每个任意时间周期中可能被要求的操作的数目。
在步骤800中,选择DCK率之一,DCK(m)。继而得到上面提及的在任意时间周期中的DCK(m)的周期数目,并且将其与在步骤792的最后一次迭代中得到的累加器值比较。由此,这个周期数目代表在每个任意时间周期中可以执行的操作的数目。因此在步骤800中确定,在步骤792的最后一次迭代中得到的累加器值是否小于或等于该任意时间周期中的DCK(m)的周期数目。
如果是,则这指示了如果数据时钟率DCK(m)被选择,则它会小于完全利用的,并且该处理前进到步骤802,在这里,指示它是否可接受的标志(DCK(m)_OK)被设置为等于1(这意味着它会是可接受的),并且被输出到时钟传动控制块610。
如果在步骤800中确定在步骤792的最后一次迭代中得到的累加器值不小于或不等于任意时间周期中DCK(m)的周期的数目,这指示了,如果该数据时钟率DCK(m)被选择,则它会大于完全利用的,并且该处理前进到步骤804,在这里,指示它是否可接受的标志 (DCK(m)_OK)被设置为等于0(这意味着它会是不可接受的),并且被输出到时钟传动控制块610。
步骤800-806继而针对每个DCK率被重复。当然,同等地,步骤 800-806可以与每个DCK率并行地被执行。
当所有这些DCK率都已用这个方式被测试时,该处理前进到步骤 810,然后结束。
由此,指示每个DCK率(即,在图49中:6.144MHz、12.288MHz、 24.576MHz和49.152MHz)是否可接受的相应标志被从MUP块608输出到时钟传动控制块610。
时钟传动控制器610使用MAC利用预测器608的输出,以选择合适的DCK时钟频率。
回到图50,已经计算了在每个可能的DCK率下所要求的操作的可调度性,该处理前进到步骤728,在这里时钟传动控制块610确定了“被期望”的选择器是否可以全都在当前实际DCK频率被调度。如果否,则该处理前进到步骤730,在这里,借助经由输出612发送到该时钟生成器的“被期望的时钟选择”信号,请求增大该DCK频率。该时钟频率继而在步骤732中被增大。
一旦该DCK频率已被增大,并且在步骤728中发现“被期望”的选择器可以全都在当前实际DCK频率被调度,该处理就前进到步骤 734。
在步骤734中,如果较低的DCK频率仍会允许所有“被期望”的选择器都被调度,则一个请求被发送到时钟生成器来减小该DCK频率。
由此,当较少选择器被使能时,使该混合器在较慢时钟上运行,由此有利地节约电力,或者当被要求来适应新选择器变得使能的请求时,该时钟频率可以被增大。
如果MAC利用预测器功能608确定了当前时钟频率是足够的,则它将允许“被请求”的选择器变得“活动”;否则,它将阻挡任何选择器变得使能。如果阻挡,则这也可以通过截取被发送到该时钟生成器的信号而被检测,从而允许包含该路由电路的消费者设备的开发者使用该信号作为调试信号。
在步骤740中,该DCK“同意”信号被从时钟传动控制块610发送到锁存器758,以允许“被请求”的选择器变得“活动”。如果刚好已发送了一个请求说该DCK频率应被增大,则直到该DCK频率已被增大,该信号才被发送到该锁存器。
在图50中示出的处理的步骤742中,有关SCK的一个沿被检测到,并且它的步骤744被用来控制锁存器752,以使得该选择器“活动”标志变成选择器“当前”标志。
如上面描述的,信道调度器620选择下一个计算要针对其被执行的信道。信道调度器620在图52(a)中被更详细地示出,图52(b) 是例示了信道调度器620的运行的一部分的流程图。
信道调度器620中的信道未决标志块622从与门756接收选择器“活动”标志。信道未决标志块622也从寄存器库602接收所有可用的SCK信号以及所有的信道-SCK分配(channel-SCK allocation)。继而,对于每个输出信道,信道未决标志被存储在信道未决标志块622 中,以指示是否存在未决计算。
图52(b)例示了信道未决标志的更新。每个信道被单独考虑,并且尽管图52(b)示出它们被相继地处理,但它们可以同样被并行地处理。
在步骤892中,确定对应的采样率时钟SCK的上升沿是否已被检测到。如果是,则该处理前进到步骤894,并且确定那个信道是否是活动的。如果是,则该处理前进到步骤896,并且该信道未决标志被置位。
由此,如果一个信道被使能(即,如果已接收到针对那个信道的任何选择器的选择器“活动”标志),则在被指派给那个具体信道的每个采样周期的开始,一个信道未决标志被置位,如有关采样时钟频率(SCK)指示的。
对于每个采样时钟,存在一相应的SCK向下计数器块830.1、……、 830.X。为了清楚,图52中只详细示出了这些SCK向下计数器块中的一个。基于被从寄存器库602供给到信道调度器620的信道-SCK分配,该SCK向下计数器块中的信道列表块(channel listingblock)832 识别了具有相应的采样时钟频率的信道。结果被传送到N位与门834 的第一输入。具有信道未决标志设置的信道ID被传送到N位与门834 的第二输入。由此,每个SCK向下计数器块830中的与门834能够识别与那个SCK关联的未决信道,并且生成一个n位输出,每一个位指示相应的信道是否是具有相应的采样时钟频率并且具有未决标志设置的信道。
与门834的多位(multi-bit)输出指示了处于相应的采样率(SCK) 的这些信道中的哪个信道具有未决计算。这个多位输出被传送到或非门835,当处于相应的采样率(SCK)的这些信道都不具有未决计算时,该或非门835生成输出信号。
每个SCK向下计数器块830也含有查找表(LUT)836,查找表836 含有代表那个SCK的周期的值,该值是在最慢可用的数据时钟DCK的周期中测得的。向下计数器838接收用于那个SCK向下计数器块的相应的SCK信号的脉冲,并且当那个SCK信号的上升沿被检测到时(图 53中的步骤870),来自查找表836的值被加载到向下计数器838中 (图53中的步骤872)。
针对其中没有检测到那个SCK信号的上升沿的每个后续周期,向下计数器838继而以最慢可用DCK信号的每周期一个计数的速率从那个值向下计数,或者如果必要则以该最慢可用DCK信号的倍数的速率从那个值向下计数。由此,向下计数器838维持针对那个采样时钟SCK 的到绝限的时间的记录。
或非门835的输出以及向下计数器838的输出被传送到或门837。由此,当处于相应的采样率(SCK)的一个或多个信道具有未决计算时,向下计数器块830将它相应的当前向下计数器值(sck1_计数、sck2_ 计数、……、sckn_计数)输出到比较器840。当处于相应的采样率(SCK) 的信道都没有未决计算时,向下计数器块830向比较器840输出最大值。
尽管这里描述了向下计数器838的使用,但当然通过以下方式也可实现完全相同的效果:即,使用向上计数器块来计数该DCK信号的周期,直到达到代表相应的SCK信号的周期的值,以确定针对那个采样时钟SCK的剩余的到绝限的时间。
如上面提及的,比较器840接收与不同SCK率关联的计数值,并且它继而选择具有最低计数值的SCK,即,在具有未决计算的SCK率中到采样周期结束时具有最短预期时间的SCK率。
由此,信道调度器620首先选择最高优先级的采样率。在这个例示的实施例中,使用了“最早绝限优先(earliest deadline first)”调度方法。即,具有最早绝限的计算被首先选择来进行最有利的调度,并且针对该计算的绝限是由所指派的采样率确定的。在其他实施例中,可以使用其他调度方法。
继而,从被分配到那个SCK的这组信道中,选择一个信道作为下一个待被计算的信道。
比较器840输出识别所选择的采样时钟的一个信号,并且块842 识别被指派到那个采样时钟的信道。结果被传送到与门844的第一输入,与门844在它的第二输入接收信道未决数据。
与门844由此识别了在所选择的采样率上的未决信道,并且结果被传送到优先级编码器846。
优先级编码器846选择一个信道。所选择的信道必须是未决的并且被指派到所选择的采样率,但在其他方面是任意的选择。在一个实施方式中,信道以输出地址的升序被选择。所选择的信道ID被通知给计算流水线块630中的计算流水线控制器块632。
一旦一个信道已被计算流水线块630接收,在信道未决标志块622 中被置位的标志就被清除,直到下一个采样周期。由此,在任何时刻,信道调度器620具有到当前采样周期结束时仍必须被执行的计算的记录。
计算流水线控制器632从调度器620获得待要执行的下一个计算的信道ID(即,输出地址),并且它继而迭代这些计算步骤,从而向该流水线中的其他块提供控制信号,如下面更详细地描述的。
一旦该计算的第一步骤被输入该流水线,这就被传达回到信道未决标志块622,以使得该计算可以被标记为已成功调度。替代地,该计算的最终步骤已经被输入该流水线的事实可以被传达回到信道未决标志块622。
图54例示了计算流水线块630的形式,并且图55是一个例示了在该计算流水线块中执行的方法的流程图。
在一个新的DCK沿(图55中的步骤914),基于在线路940上从信道调度器620的优先级编码器846接收到的信道ID(指示下一个待被执行的信道),计算流水线控制器块632选择一个信道(图55中的步骤916)。在图55的步骤918中,计算流水线控制器块632向该信道未决标志块发送信号(图52中的“前进至下一个信道”信号),以清除针对那个信道的信道未决标志。如上所述,作为一个替代,该信道未决标志可以当计算已完成时被清除。
计算流水线控制器块632也在线路942上从使能和时钟控制块604 接收“当前”选择器ID。
在图55中的处理的步骤920中,计算流水线控制器块632将值n 设置为1。在步骤922中,计算流水线控制器块632获得针对与当前信道关联的第n选择器的数据值。在寄存器映射中,选择器与信道ID 之间存在永久关联。由此,计算流水线控制器块632在线路944上向寄存器库602发送选择器ID,寄存器库602在线路946上返回相应的源ID。通过使能该混合器输入总线,处于这个源ID的数据值可以被读取,并且该数据值特别被施加到复用器950的第一输入。
寄存器库602也在线路948上返回一相应的增益设置(图55中的步骤924),并且它被施加到系数查找块952,系数查找块952生成对应的乘法系数。这个乘法系数被施加到复用器950的第二输入。由此,在图55的方法的步骤926中,该数据值被乘以增益系数。对于第一选择器(当在线路958上存在来自对累加器部分954进行控制的计算流水线控制器的一个信号时),这个结果被存储在该乘累加块(MAC)的累加器部分954中(图55中的步骤928),或者对于任何后续选择器,该结果被加到存储在累加器部分954中的现有值(图55中的步骤930),累加器部分954执行输出计算的一个步骤。
在图55的步骤932中,确定是否有任何另外的选择器用于当前信道。如果是,则该处理前进到步骤934,在这里下一个DCK脉冲沿在等候,以及前进到步骤938,在这里值n增加1,并且步骤922-932 被重复。
当在步骤932中确定了没有另外的选择器用于当前信道时(当在线路962上存在来自该计算流水线控制器的信号时),则存储在累加器954中的值代表针对那个信道的计算的最终结果,即,一个或多个输入数据值(每个都被相应的增益值缩放)之和。
计算流水线控制器块632在输出总线640上使能针对那个信道的计划输出地址(通过线路964上的信号),以使得最终结果被存储在该混合器输出缓冲器(即,与对应的信号目的块关联的目的地)中。
上面考虑的主要用户是最终产品或消费者设备的设计者或系统编程者,但是该产品的最终用户也会使用该产品以及通过该产品传送数据。然而,容易对经过路由电路的信号流进行重新编程使得能够允许新的最终使用例,也使得如下情况是可行的,即通过有专门技能的终端用户、或者在免费下载或付费可下载的实时应用软件的帮助下没有专门技能的终端用户,都能够允许新的使用例和/或用于一个或多个功能块中的数据。为了避免可能的损坏(例如,通过超驰(over-riding) 扬声器保护路径过度驱动(overdriving)扬声器),可以存在被确保在终端产品中不可更改的路径或增益设置。
在从一个使用例转变到另一个使用例时,或者在使能或禁用使用例时,可以有增益或使能/禁用路径的突然改变。为了减少这样的变化期间的可听赝象(artefact),该混合构件可以包含电路系统来将任何增益变化的升降率(ramp rate)限制到预设置或可编程的升降率,并且可能仅允许信号零交叉(zero-crossing)附近的增益变化。
由此,提供了如下开关电路系统,它允许多个处理在混合器中以不同采样率被处理,从而允许音频或其他信号的全面和非常灵活的处理。
图56示出了电子设备1000,它可以例如是工业设备、专业设备或消费者设备,并且包含如上面描述的具有多个信号源和信号目的地的开关电路1002,以及至少一个混合器,这些信号源和信号目的地可以在时分复用基础上被连接到该混合器以建立信号路径。该开关电路被实施为一个集成电路,该集成电路具有第一数字接口1004。在设备 1000内,第一数字接口1004被操作性的耦合到另一个集成电路1006,用于向和/或从该另一个集成电路接收和/或提供数字信号。该另一个集成电路1006整体地或部分地包括存储器设备、短程无线设备和/或远程无线设备。
图57示出了电子设备1010,它可以例如是工业设备、专业设备或消费者设备,并且包含如上面描述的具有多个信号源和信号目的地的开关电路1012,以及至少一个混合器,这些信号源和信号目的地可以在时分复用基础上被连接到该混合器以建立信号路径。该开关电路被实施为一个集成电路,该集成电路具有第一数字接口1014和第二数字接口1016。在设备1010内,第一数字接口1014被操作性的耦合到第一个另外的集成电路1018,用于向和/或从该第一个另外的集成电路接收和/或提供数字信号。相似地,第二数字接口1016被操作性的耦合到第二个另外的集成电路1020,用于向和/或从该第二个另外的集成电路接收和/或提供数字信号。该第一个另外的集成电路1018和该第二个另外的集成电路1020每个都整体地或部分地包括存储器设备、短程无线设备和/或远程无线设备。
图58示出了电子设备1030,它可以例如是工业设备、专业设备或消费者设备,并且包含如上面描述的具有多个信号源和信号目的地的开关电路1032,以及至少一个混合器,这些信号源和信号目的地可以在时分复用基础上被连接到该混合器以建立信号路径。该开关电路被实施为一个集成电路,该集成电路具有第一数字接口1034、第二数字接口1036和第三数字接口1038。在设备1030内,第一数字接口1034 被操作性的耦合到第一个另外的集成电路1040,用于向和/或从该第一个另外的集成电路接收和/或提供数字信号,第二数字接口1036被操作性的耦合到第二个另外的集成电路1042,用于向和/或从该第二个另外的集成电路接收和/或提供数字信号,并且第三数字接口1038 被操作性的耦合到第三个另外的集成电路1044,用于向和/或从该第三个另外的集成电路接收和/或提供数字信号。该第一个另外的集成电路1040、该第二个另外的集成电路1042和该第三个另外的集成电路1044每个都整体地或部分地包括存储器设备、短程无线设备和/或远程无线设备。
图59示出了通信设备1060,它包含如上面描述的具有多个信号源和信号目的地的开关电路1062,以及至少一个混合器,这些信号源和信号目的地可以在时分复用基础上被连接到该混合器以建立信号路径。该开关电路被实施为一个集成电路,该集成电路具有第一数字接口1064。在设备1060内,第一数字接口1064被操作性的耦合到另一个集成电路1066,用于向和/或从该另一个集成电路接收和/或提供数字信号。该另一个集成电路1066整体地或部分地包括下列中的一个或多个:应用处理器、无线编解码器或通信处理器。
图60示出了通信设备1070,它包含如上面描述的具有多个信号源和信号目的地的开关电路1072,以及至少一个混合器,这些信号源和信号目的地可以在时分复用基础上被连接到该混合器以建立信号路径。该开关电路被实施为一个集成电路,该集成电路具有第一数字接口1074和第二数字接口1076。在设备1070内,第一数字接口1074 被操作性的耦合到第一个另外的集成电路1078,用于向和/或从该第一个另外的集成电路接收和/或提供数字信号。相似地,第二数字接口 1076被操作性的耦合到第二个另外的集成电路1080,用于向和/或从该第二个另外的集成电路接收和/或提供数字信号。该第一个另外的集成电路1078和该第二个另外的集成电路1080每个都整体地或部分地包括下列中的一个或多个:应用处理器、无线编解码器或通信处理器。
图61示出了通信设备1090,它包含如上面描述的具有多个信号源和信号目的地的开关电路1092,以及至少一个混合器,这些信号源和信号目的地可以在时分复用基础上被连接到该混合器以建立信号路径。该开关电路被实施为一个集成电路,该集成电路具有第一数字接口1094、第二数字接口1096和第三数字接口1098。在设备1090内,第一数字接口1094被操作性的耦合到第一个另外的集成电路1100,用于向和/或从该第一个另外的集成电路接收和/或提供数字信号,第二数字接口1096被操作性的耦合到第二个另外的集成电路1102,用于向和/或从该第二个另外的集成电路接收和/或提供数字信号,并且第三数字接口1098被操作性的耦合到第三个另外的集成电路1104,用于向和/或从该第三个另外的集成电路接收和/或提供数字信号。该第一个另外的集成电路1100、该第二个另外的集成电路1102和该第三个另外的集成电路1104每个都整体地或部分地包括下列中的一个或多个:应用处理器、无线编解码器或通信处理器。
在本公开内容中,应意识到,已例示了多种部件。当一个这样的部件被示出和描述时,应注意,它可以被替换成提供相同的总体功能的多个部件,并且类似地,当为了例示方便将功能示出为分配在不同块之间时,这个功能也可以被提供在单个部件中。
这里提及了信号的“缩放”,其可以指增加或减少这样的信号的量值(magnitude)或值(value),并且不排除这些信号可以被保留不变的可能性。
应明了,尽管为了清楚以及为了理解容易,该公开内容的某些元件已被结合起来描述,但这些元件可以被彼此独立地使用,并且所示出和描述的特征可以被分立地或以任何组合使用。
本公开内容总体涉及可以被实施为集成电路的电路,尽管该电路的不同方面可以用硬件、固件、软件或它们的任何组合来实施。例如,本发明可以用在计算机可读载体上提供的硬件描述语言来实施。
尽管已示出和描述了本发明的具体实施方案,但应明了,在不脱离本发明的范围的前提下,可以做出许多改变。
Claims (21)
1.一种集成电路,包括可配置为处理音频数据样本流的数字混合核,所述数字混合核包括混合构件,所述混合构件包括:
混合器,所述混合器包括乘累加器,所述乘累加器包括乘累加器输入和乘累加器输出;
至少一个第一源数据缓冲器和至少一个第二源数据缓冲器(A1/A2和B1/B2),每个相应地可配置为重复地接收相应的至少一个第一音频数据样本和至少一个第二音频数据样本(A和B),并且重复地存储所述相应的至少一个第一音频数据样本和至少一个第二音频数据样本;
至少一个第一目的地数据缓冲器(Z1/Z2),可配置为重复地存储相应的至少一个第三音频数据样本,并且重复地发送所述至少一个第三音频数据样本(Z);
所述混合构件可配置为通过以下方式重复地建立至少一个信号路径:
在一个采样时钟(SCK)的一个周期(T1)内接收第一音频数据样本(处理A);
将所述第一音频数据样本存储在第一源数据缓冲器(A1/A2)中长达所述周期(T1)的剩余部分以及长达所述采样时钟(SCK)的整个下一个周期(T2);
在所述周期(T1)内接收至少一个第二音频数据样本(处理B);
将该第二音频数据样本或每个第二音频数据样本存储在相应的第二源数据缓冲器(B1/B2)中长达所述周期(T1)的剩余部分以及长达整个所述下一个周期(T2);
在所述下一个周期(T2)内取得所述所存储的第一音频数据样本;
将所述第一音频数据样本乘以第一乘法系数,从而在所述下一个周期(T2)内生成第一部分总和;
在所述下一个周期(T2)内临时存储所述第一部分总和;
在所述下一个周期(T2)内取得所述所存储的至少一个第二音频数据样本;
将该第二音频数据样本或每个第二音频数据样本乘以相应的第二乘法系数,由此在所述下一个周期(T2)内生成至少一个相应的第二部分总和;
将所述第一部分总和与所述第二部分总和相加,以在所述下一个周期(T2)内生成第三音频数据样本;以及
将所述第三音频数据样本存储在目的地数据缓冲器(Z1/Z2)中长达所述下一个周期(T2)的剩余部分以及长达接下来的下一个周期(T3)的持续时间。
2.根据权利要求1所述的集成电路,还包括至少一个输入,该至少一个输入具有与之关联的源数据缓冲器。
3.根据权利要求1或2所述的集成电路,还包括至少一个输出,该至少一个输出具有与之关联的目的地数据缓冲器。
4.根据权利要求1或2所述的集成电路,还包括至少一个信号处理块,该至少一个信号处理块具有与之关联的源数据缓冲器和目的地数据缓冲器。
5.根据权利要求4所述的集成电路,包括至少一个完全可编程的信号处理块。
6.根据权利要求4所述的集成电路,包括至少一个部分可编程的信号处理块。
7.根据权利要求4所述的集成电路,包括用于执行一个特定功能且具有至少一个可控制的参数的至少一个信号处理块。
8.根据权利要求1或2所述的集成电路,还包括:
源选择器,包括至少一个第一源选择器输入和至少一个第二源选择器输入,以及一个源选择器输出,所述至少一个第一源选择器输入和至少一个第二源选择器输入被连接到相应的至少一个第一源数据缓冲器和至少一个第二源数据缓冲器,并且所述源选择器输出被连接到所述乘累加器输入,所述源选择器可配置为重复地将所述至少一个第一源数据缓冲器和至少一个第二源数据缓冲器中的任何一个耦合到所述源选择器输出;以及
目的地选择器,包括一目的地选择器输入以及至少一个目的地选择器输出,所述目的地选择器输入被连接到所述乘累加器输出,并且所述至少一个目的地选择器输出被连接到相应的所述至少一个目的地数据缓冲器,所述目的地选择器可配置为重复地将所述目的地选择器输入耦合到所述至少一个第一目的地数据缓冲器。
9.根据权利要求1或2所述的集成电路,还包括控制器,该控制器用于限定该信号路径或每个信号路径的第一源数据缓冲器和第二源数据缓冲器以及目的地数据缓冲器。
10.根据权利要求9所述的集成电路,其中该控制器被配置为限定该信号路径或每个信号路径的第一乘法系数和第二乘法系数。
11.根据权利要求1或2所述的集成电路,其中该混合构件可配置为建立多个所述信号路径。
12.根据权利要求11所述的集成电路,其中该混合构件可配置为建立具有不同的相应采样时钟周期的多个所述信号路径。
13.根据权利要求1或2所述的集成电路,其中该混合器包括在乘累加器输入与乘累加器输出之间的旁路路径。
14.根据权利要求1或2所述的集成电路,其中该混合构件包括多个所述混合器,这些混合器具有相应的乘累加器,每个相应的乘累加器输入可连接到源数据缓冲器中的任何一个,并且每个相应的乘累加器输出可连接到所述目的地数据缓冲器中的一相应的子组。
15.根据权利要求1或2所述的集成电路,其中该混合构件包括多个所述混合器,这些混合器具有相应的乘累加器,每个相应的乘累加器输入可连接到所述源数据缓冲器中的任何一个,并且每个相应的乘累加器输出可连接到所述目的地数据缓冲器中的任何一个。
16.一种电子设备,包括根据权利要求1至15中任一权利要求所述的集成电路。
17.一种通信设备,包括根据权利要求1至15中任一权利要求所述的集成电路。
18.一种处理音频数据样本流的方法,所述方法包括重复地执行如下步骤:
在一个采样时钟(SCK)的一个周期(T1)内接收第一音频数据样本(处理A);
将所述第一音频数据样本存储在第一源数据缓冲器(A1/A2)中长达所述周期(T1)的剩余部分以及长达所述采样时钟(SCK)的整个下一个周期(T2);
在所述周期(T1)内接收至少一个第二音频数据样本(处理B);
将该第二音频数据样本或每个第二音频数据样本存储在相应的第二源数据缓冲器(B1/B2)中长达所述周期(T1)的剩余部分以及长达整个所述下一个周期(T2);
在所述下一个周期(T2)内取得所述所存储的第一音频数据样本;
将所述第一音频数据样本乘以第一乘法系数,从而在所述下一个周期(T2)内生成第一部分总和;
在所述下一个周期(T2)内临时存储所述第一部分总和;
在所述下一个周期(T2)内取得所述所存储的至少一个第二音频数据样本;
将该第二音频数据样本或每个第二音频数据样本乘以相应的第二乘法系数,由此在所述下一个周期(T2)内生成至少一个相应的第二部分总和;
将所述第一部分总和与所述第二部分总和相加,以在所述下一个周期(T2)内生成第三音频数据样本;以及
将所述第三音频数据样本存储在一目的地数据缓冲器(Z1/Z2)中长达所述下一个周期(T2)的剩余部分以及长达接下来的下一个周期(T3)的持续时间。
19.根据权利要求18所述的方法,还包括重复地执行如下步骤:
在该采样时钟(SCK)的所述周期(T1)内接收第四音频数据样本(处理C);
将所述第四音频数据样本存储在第三源数据缓冲器(C1/C2)中长达所述周期(T1)的剩余部分以及长达所述采样时钟(SCK)的整个下一个周期(T2);
在所述周期(T1)内接收至少一个第五音频数据样本(处理D);
将该第五音频数据样本或每个第五音频数据样本存储在相应的第四源数据缓冲器(B1/B2)中长达所述周期(T1)的剩余部分以及长达整个所述下一个周期(T2);
在所述下一个周期(T2)内取得所述所存储的第四音频数据样本;
将所述第四音频数据样本乘以第三乘法系数,从而在所述下一个周期(T2)内生成第三部分总和;
在所述下一个周期(T2)内临时存储所述第三部分总和;
在所述下一个周期(T2)内取得所述所存储的至少一个第五音频数据样本;
将该第五音频数据样本或每个第五音频数据样本乘以相应的第四乘法系数,由此在所述下一个周期(T2)内生成至少一个相应的第四部分总和;
将所述第三部分总和与所述第四部分总和相加,以在所述下一个周期(T2)内生成第六音频数据样本;
将所述第六音频数据样本存储在目的地数据缓冲器(Y1/Y2)中长达所述下一个周期(T2)的剩余部分以及长达所述接下来的下一个周期(T3)的持续时间。
20.根据权利要求18或19所述的方法,其中每个源数据缓冲器与相应的音频输入或信号处理块关联。
21.根据权利要求18或19所述的方法,其中每个目的地数据缓冲器与相应的音频输出或信号处理块关联。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161491041P | 2011-05-27 | 2011-05-27 | |
US61/491,041 | 2011-05-27 | ||
GB1109012.3 | 2011-05-27 | ||
GBGB1109012.3A GB201109012D0 (en) | 2011-05-27 | 2011-05-27 | Digital signal routing circuit |
CN201280037167.4A CN103703751B (zh) | 2011-05-27 | 2012-05-25 | 数字信号路由电路 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280037167.4A Division CN103703751B (zh) | 2011-05-27 | 2012-05-25 | 数字信号路由电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107395303A CN107395303A (zh) | 2017-11-24 |
CN107395303B true CN107395303B (zh) | 2020-01-31 |
Family
ID=44310561
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010013718.XA Active CN111355547B (zh) | 2011-05-27 | 2012-05-25 | 集成电路及包括该集成电路的通信设备和电子设备 |
CN202110939471.9A Pending CN113630494A (zh) | 2011-05-27 | 2012-05-25 | 集成电路及电子设备 |
CN201710301797.2A Expired - Fee Related CN107395303B (zh) | 2011-05-27 | 2012-05-25 | 数字信号路由电路 |
CN202010013955.6A Expired - Fee Related CN111355548B (zh) | 2011-05-27 | 2012-05-25 | 集成电路及电子设备 |
CN201280037167.4A Expired - Fee Related CN103703751B (zh) | 2011-05-27 | 2012-05-25 | 数字信号路由电路 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010013718.XA Active CN111355547B (zh) | 2011-05-27 | 2012-05-25 | 集成电路及包括该集成电路的通信设备和电子设备 |
CN202110939471.9A Pending CN113630494A (zh) | 2011-05-27 | 2012-05-25 | 集成电路及电子设备 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010013955.6A Expired - Fee Related CN111355548B (zh) | 2011-05-27 | 2012-05-25 | 集成电路及电子设备 |
CN201280037167.4A Expired - Fee Related CN103703751B (zh) | 2011-05-27 | 2012-05-25 | 数字信号路由电路 |
Country Status (3)
Country | Link |
---|---|
CN (5) | CN111355547B (zh) |
GB (3) | GB201109012D0 (zh) |
WO (1) | WO2012164272A2 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104459703B (zh) * | 2014-11-12 | 2019-02-05 | 惠州Tcl移动通信有限公司 | 一种声纳测距方法和移动设备 |
CN105847960A (zh) * | 2016-03-29 | 2016-08-10 | 乐视控股(北京)有限公司 | 减少输出音频量化失真的方法及装置 |
KR102435614B1 (ko) * | 2017-11-17 | 2022-08-24 | 삼성전자주식회사 | 카메라 모듈 내에서 이미지 센서를 위한 클럭 신호를 생성하기 위한 전자 장치 및 방법 |
DE102018206335A1 (de) | 2018-04-25 | 2019-10-31 | Audi Ag | Haupteinheit für ein Infotainmentsystem eines Fahrzeugs |
CN112005210A (zh) | 2018-08-30 | 2020-11-27 | 惠普发展公司,有限责任合伙企业 | 多通道源音频的空间特性 |
US11968268B2 (en) | 2019-07-30 | 2024-04-23 | Dolby Laboratories Licensing Corporation | Coordination of audio devices |
CN111947713B (zh) * | 2020-08-05 | 2022-08-12 | 深圳威迈斯新能源股份有限公司 | 一种采样方法及系统 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5483528A (en) * | 1994-10-11 | 1996-01-09 | Telex Communications, Inc. | TDM digital matrix intercom system |
US5729225A (en) * | 1996-09-23 | 1998-03-17 | Motorola, Inc. | Method and apparatus for asynchronous digital mixing |
US6351475B1 (en) * | 1997-07-14 | 2002-02-26 | Yamaha Corporation | Mixing apparatus with compatible multiplexing of internal and external voice signals |
US5986589A (en) * | 1997-10-31 | 1999-11-16 | Ati Technologies, Inc. | Multi-stream audio sampling rate conversion circuit and method |
US6930628B2 (en) * | 2001-05-03 | 2005-08-16 | Coreoptics, Inc. | Amplitude detection for controlling the decision instant for sampling as a data flow |
CN100452662C (zh) * | 2002-01-08 | 2009-01-14 | 昂瓦尔德技术有限公司 | 多信道无线通信系统 |
JP3744440B2 (ja) * | 2002-02-28 | 2006-02-08 | ヤマハ株式会社 | ミキシング装置及び楽音発生装置並びにミキシング用の大規模集積回路 |
US7996588B2 (en) * | 2002-10-04 | 2011-08-09 | Hewlett-Packard Company | Method and apparatus for real-time transport of multi-media information in a network |
US6941435B2 (en) * | 2003-01-21 | 2005-09-06 | International Business Machines Corporation | Integrated circuit having register configuration sets |
US20060099927A1 (en) * | 2004-11-11 | 2006-05-11 | Nvidia Corporation | Integrated wireless transceiver and audio processor |
JP2006319393A (ja) * | 2005-05-10 | 2006-11-24 | Renesas Technology Corp | 通信用半導体集積回路および無線通信装置 |
GB2432758B (en) * | 2005-11-26 | 2008-09-10 | Wolfson Ltd | Auto device and method |
CN1992269A (zh) * | 2005-12-28 | 2007-07-04 | 松下电器产业株式会社 | 半导体集成电路设备 |
US7689233B2 (en) * | 2005-12-30 | 2010-03-30 | Vtech Telecommunications Limited | Remote switching for handset handsfree speakerphone |
US8264387B2 (en) * | 2006-03-31 | 2012-09-11 | Silicon Laboratories Inc. | Transceiver having multiple signal processing modes of operation |
EP2276186A3 (en) * | 2007-03-28 | 2011-04-13 | Yamaha Corporation | Mixing signal processing apparatus and mixing signal processing integrated circuit |
JP2009093348A (ja) * | 2007-10-05 | 2009-04-30 | Hitachi Ltd | 情報処理装置、及び情報処理システム |
KR100931843B1 (ko) * | 2008-01-29 | 2009-12-15 | 엠텍비젼 주식회사 | 멀티미디어 프로세서 칩 및 오디오 신호 처리 방법 |
US8200479B2 (en) * | 2008-02-08 | 2012-06-12 | Texas Instruments Incorporated | Method and system for asymmetric independent audio rendering |
US8204242B2 (en) * | 2008-02-29 | 2012-06-19 | Bose Corporation | Active noise reduction adaptive filter leakage adjusting |
US20100056050A1 (en) * | 2008-08-26 | 2010-03-04 | Hongwei Kong | Method and system for audio feedback processing in an audio codec |
GB2469345B (en) * | 2009-07-24 | 2011-05-04 | Wolfson Microelectronics Plc | Audio circuit |
-
2011
- 2011-05-27 GB GBGB1109012.3A patent/GB201109012D0/en not_active Ceased
-
2012
- 2012-05-25 CN CN202010013718.XA patent/CN111355547B/zh active Active
- 2012-05-25 WO PCT/GB2012/051193 patent/WO2012164272A2/en active Application Filing
- 2012-05-25 CN CN202110939471.9A patent/CN113630494A/zh active Pending
- 2012-05-25 CN CN201710301797.2A patent/CN107395303B/zh not_active Expired - Fee Related
- 2012-05-25 GB GB1209255.7A patent/GB2491262B/en active Active
- 2012-05-25 CN CN202010013955.6A patent/CN111355548B/zh not_active Expired - Fee Related
- 2012-05-25 GB GB1209252.4A patent/GB2491261B/en active Active
- 2012-05-25 CN CN201280037167.4A patent/CN103703751B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2012164272A2 (en) | 2012-12-06 |
CN111355548A (zh) | 2020-06-30 |
CN111355548B (zh) | 2021-09-03 |
CN111355547B (zh) | 2022-03-22 |
CN113630494A (zh) | 2021-11-09 |
GB2491261A (en) | 2012-11-28 |
GB2491261B (en) | 2014-08-06 |
WO2012164272A3 (en) | 2013-01-24 |
CN111355547A (zh) | 2020-06-30 |
CN107395303A (zh) | 2017-11-24 |
GB201209255D0 (en) | 2012-07-04 |
CN103703751B (zh) | 2017-05-31 |
GB201109012D0 (en) | 2011-07-13 |
GB2491262A (en) | 2012-11-28 |
GB201209252D0 (en) | 2012-07-04 |
CN103703751A (zh) | 2014-04-02 |
GB2491262B (en) | 2014-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10972836B2 (en) | Digital signal routing circuit | |
CN107395303B (zh) | 数字信号路由电路 | |
US11438694B2 (en) | Digital signal routing circuit | |
US7912728B2 (en) | Method and system for handling the processing of bluetooth data during multi-path multi-rate audio processing | |
US8200479B2 (en) | Method and system for asymmetric independent audio rendering | |
CN101192832B (zh) | 处理音频信号的方法和系统 | |
US20170251306A1 (en) | Techniques for presenting sound effects on a portable media player | |
JP6272474B2 (ja) | 音声処理方法、及び端末装置 | |
CN1926841B (zh) | 带有多媒体训练信号的回声抵消器 | |
CN102981989A (zh) | 通用串行总线usb通信的装置和方法 | |
CN101609676A (zh) | 一种处理音频信号的方法及系统 | |
US20070095195A1 (en) | Low power audio processing circuitry for a musical instrument | |
US7590460B2 (en) | Audio signal processor | |
GB2491264A (en) | Digital mixing of audio data samples with a data clock whose frequency is based upon the number of paths defined through the mixer | |
TM | Technical reference manual | |
JP4494754B2 (ja) | オーディオ信号処理装置 | |
CN113973248A (zh) | 主动降噪方法和装置以及音频播放设备 | |
Hatfield | Audio Hub Evolution | |
JP2003255946A (ja) | 楽音発生装置 | |
JP2001185991A (ja) | ディジタルフィルタ及び通信装置 | |
Mahawar et al. | SOPC based Network enabled Voice Codec Unit | |
JP2007257033A (ja) | 信号処理方法及び信号処理装置 | |
Epe et al. | A new FPGA-based DSP System for Professional Audio Applications |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200131 |