系统框图如下
支持两个通道,所以有两个ADC。4个输入引脚,可用于支持与多个麦克风或线路输入源的连接。。
两个模拟输入LlNPUT1/2 RlNPUT1/2可以由开关选择,可用于支持与多个麦克风或线路输入源的连接。左通道和右通道上的输入多路复用器可以用于为每个输入源选择不同的配置。
然后进行PGA增益提升。可以单独地选择输入,或者也可以选择(LlNPUT1-RlNPUT1)或(LlNPUT2-RlNPUT2)的差分输入,模拟输入路径可以在单端模式、伪差分和全差分模式下支持线路输入或麦克风输入。这些输入可以配置为麦克风或线路电平。然后,信号进入高质量ADC。或者,两个通道也可以在模拟域中混合,并在一个ADC中数字化,而另一个ADC关闭。一个片上ALC模块可用于控制记录期间的信号电平。PGA的增益可以由用户控制,也可以由片上ALC功能控制。在一些配置中,输入级还可以提供共模噪声抑制。
左和右模拟输入通道被路由到ADC,在那里它被数字化。或者,两个通道也可以在模拟域中混合,并在一个ADC中数字化,而另一个ADC关闭。单声道混合信号出现在两个数字输出通道上。
每个通道也有一个BYPASS路径,使模拟输入信号能够直接路由到输出多路复用器和PGA,而不经过ADC。
四个输入引脚LINPUT1/LINPUT2; RINPUT1/RINPUT2, 对应两个通道.每个通道都可以选择1或者2或者L-R差分对输入(特别注意这里的差分对是L-R不是1-2),通过选择器MUX控制,其中(1)是旁路模式(直通输出)时的选择,(2)是进入ADC的选择。
其中(1)处的MUX对应寄存器10的LINSEL和RINSEL字段控制
其中(2)处的MUX对应寄存器38的LMIXSEL和RMIXSEL控制。
这里寄存器的描述011和100好像和图中对应不上,图中应该是差分后的值和PGA后的值。
差分由如下部分产生,可以是L1-R1/L2-R2的差分,也可以是R1-L1/R2-R1的差分
通过寄存器10和寄存器11控制。如果寄存器10的DSSEL为0则L和R都使用寄存器10的DSR控制;
如果寄存器10的DSSEL为1,则L使用寄存器11的DS控制;R使用寄存器10的DSR控制。
使用后者则更灵活即L和R可以分别控制。
单端输入
当寄存器10中的Linsel和Rinsel不设置为“11”时,ES8388应用于单端麦克风输入模式。单发麦克风输入信号可以连接到LIN1、RIN1、LIN2或RIN2。Micampl或Micampr可用于提高麦克风信号水平。单端麦克风模式不能提供通用模式噪音抑制,如下所示,输入电平使用R7进行了上拉偏置。
伪差分输入
当寄存器10中的Linsel和Rinsel设置为“11”时,ES8388应用于伪差分麦克风输入模式。伪差分麦克风输入信号可以连接到LIN1和RIN1或LIN2和RIN2。micampl和micampr可以用来提高麦克风信号水平。当GND有明显噪声时,伪差分麦克风模式可以提供共模噪声抑制
可以配置为L-R还是R-L,与单端的差别是GND输入可以降低GND的共模噪声。
差分模式
当寄存器10中的Linsel和Rinsel设置为“11”时,ES8388应用于全差分麦克风输入模式。全差分麦克风输入信号可以连接到LIN1和RIN1或LIN2和RIN2。micampl和micampr可以用来提高麦克风信号水平。全差分麦克风模式可以提供通用模式噪音抑制。全差分模式下的记录容量应为伪差分模式的2倍。建议使用全差分麦克风模式录制麦克风。与伪差分的区别是另一端不是接GND而是直接接输入信号。
INPUT1或者INPUT2或者LR的差分对,以上信号直接或者经过PGA之后,可以通过MUX直接输出到DAC。即1.输入形式这一节中关于(1)处的MUX的描述。
LMIXSEL和RMIXSEL控制位用于选择左和右旁路路径的输入通道。所选择的输入通道可以直接路由到输出多路复用器和PGA。
分为两部分,一部分模拟PGA增益
如下图所示
由寄存器9控制
MicAmpL和MicAmpR控制位用于控制PGA以放大输入信号的幅度。输入信号由LINSEL和RINSEL控制位选择是单端还是差分输入。PGA增益可在0dB到+24dB之间以3dB为步长进行调整。
另外一部分是ADC的音量控制
ES8388 ADC的数字音量可以在-96dB到0dB之间以0.5dB的步长进行调节。RADCVOL和RADCVOL用于独立地控制左右ADC记录音量。如果寄存器15中的ADCLeR控制位设置为“1”,则可以通过调整左ADC音量来同步调整左ADC和右ADC的音量。
寄存器15的ADCMute设置为“1”进行静音。
如下图所示,可以两个通道输入MIX到一个ADC,即双声道变单声道。
这是在模拟域中混合的,并在一个ADC中数字化,而另一个ADC关闭。通过将MONOMIX设置为“01”或“10”,可以将单声道混合信号路由到左ADC或右ADC。对于模拟单声道混音,可以使用左侧或右侧ADC,从而关闭未使用的ADC。用户还可以灵活地使用DATSEL控制位选择音频接口的数据怎么输出到ASDOUT上。
由寄存器11的MONOMIX控制
由寄存器3的PdnAINL和PdnAINR控制。
寄存器14中的ADC_invL控制位用于反转左通道ADC的极性。ADC_invR控制位用于右通道ADC的极性反转控制。
寄存器14中的ADC_ HPF_L和ADC_HPF_R用于控制左右ADC的高通滤波。建议将默认设置设置为ADC_HF_L和ADC_HF_R使能。
ADCSoftRamp控制位用于淡入和淡出使能控制。ADCRampRate控制位用于设置软斜坡速率。
所谓的淡入淡出是避免突变,进行一定的斜坡平缓。
ES8388可以通过I2S/PCM接口提供立体声ADC进行记录。数字输出数据在ASDOUT引脚上发送。ADC满刻度输入电平与AVDD成比例。在3.3V电源电压的情况下,满刻度电平为1.0Vrms。任何大于满刻度的电压都可能使ADC过载并导致失真。
ALC可以进行自动电平控制。ALC相关寄存器位于寄存器18到寄存器22之间.
录音时,通常希望音量保持恒定,此时可以使用ALC将记录的信号保持在恒定水平。例如,如果录制声音时,信号可能会有很大的变化,这取决于使用者说话的声音有多大或麦克风离嘴有多近。这将导致录制的信号在回放时难以听清。
ALC的目的是保持恒定的输出音量,而不管输入信号电平如何。这是通过不断地
调整PGA增益,使ADC输出端的信号电平保持恒定来实现的。
将ALC设置为对每个录制源(如声音、古典音乐、流行音乐等)都是最优的,这是一个相当复杂的过程。已经提供了推荐的设置作为工作的基础。由此产生的效果是非常主观的,并且可能因应用而异。可能需要一些进一步的修改来优化特定应用程序的功能,但在大多数情况下,建议的设置应该提供合适的解决方案。
相关寄存器如下
ALC Enable / ALC Level.
自动高度控制启用/自动高度控制水平。ALC功能通过设置寄存器字段ALCSEL来启用。ALCSEL=2'b00:ALC关闭;ALCSEL=2'b01:ALC右通道启用;ALCSEL=2'b10:ALC左通道启用;ALCSEL=2'b11:ALC启用。启用时,可使用ALCLVL寄存器字段对ALC输出音量进行编程。ALC电平的范围在0dBFS和-16.5dBFS之间变化,每级1.5dBFS。最大目标电平总是不高于ADC满刻度电平,以帮助减少削波信号的可能性。该电平应设置得尽可能高,以实现最佳的信噪比性能,但不应设置得太高,以允许在信号变化时发生信号削波。信号电平越不稳定,ALC目标电平和ADC满刻度电平之间所需的净空就越大。
ALC Maximum Gain.
ALC最大增益。通过设置寄存器字段MAXGAIN来施加PGA增益的上限。MAXGAIN的范围在-6.5dBFS和35.5dBFS之间变化,每步6dBFS。最大增益的目的是确保小的输入信号被ALC功能所容纳并且不会被过度放大。录制的音乐曲目淡出;例如,如果录制的音乐音轨淡出;“最大增益”设置防止ALC在音乐信号衰减时通过不断增加增益来破坏效果。最大增益应根据设计者确定应被视为衰落信号的安静信号的电平来确定。
ALC Minimum Gain.
ALC最小增益。通过设置寄存器字段MINGAIN来施加PGA增益的下限。MINGAIN的范围在-12dBFS和30dBFS之间变化,每步6dBFS。最小增益的目的是确保大的输入信号被允许并且不会被ALC功能过度衰减。如果最小增益较大,则ALC控制信号电平的能力将受到限制,并且其无法防止大信号失真的可能性更大。然而,如果最小增益较小,则较大的衰减将应用于大信号,这可能不希望地限制处理信号的动态范围。最小增益应设置为尽可能低,当然不大于将最大输入信号向下调整到ALC目标电平所需的增益。
ALC Hold Time
保持时间。检测到低于目标电平的信号电平与PGA增益开始上升之间的时间延迟由
字段ALCHLD。它可以设置为零,也可以以2次方(2n)步进编程,例如2.67ms, 5.33ms, 10.67ms等,直至1.36s。
请注意,ALC保持时间仅适用于增益增量;当信号电平高于时,在降低增益之前没有延迟
目标。ALC保持时间在限制器模式下不活跃(见下文)。
这种延迟的目的是确保ALC不会对变化的信号电平过度响应。应根据所需ALC响应的类型设置保持时间。如果需要对变化的信号立即进行增益调整,则应使用短的保持时间;
这可能适用于语音应用程序。如果要更谨慎地进行ALC增益调整,则应使用更长的保持时间,从而仅对长期信号电平变化作出响应,并在更大程度上保持原始信号动态;这可能适用于包含大动态范围的音乐,就像在古典音乐中经常发现的那样。
ALC Decay Time.
ALC衰减时间。ALC上升PGA增益所花费的时间由寄存器字段ALCDCY控制。ALC衰减时间定义为每个增益步长的时间。它可以按两(2n)步的幂进行编程,例如410us/步、820us/步和1.64ms/步等,最高可达420ms/步。衰减时间决定ALC响应信号电平下降进行调整的速度。如果需要对变化的信号做出快速响应,则应使用较短的衰变时间。衰减时间不应短到导致ALC对标称恒定信号电平的快速响应。例如,如果输入信号可能具有暂停或静音,则衰减时间应设置得足够长,以确保ALC在这些持续时间期间不会对增益进行大的调整。
ALC Attack Time.
ALC攻击时间。ALC斜坡下降PGA增益所花费的时间由寄存器字段ALCATK控制。ALC攻击时间定义为每个增益步长的时间。它可以以两(2n)个步长的幂进行编程,例如104us/步长、208us/步长和416us/步长等,最高可达106ms/6dB。它的测量方式与衰变时间类似。短攻击时间的优点是,它可以对增加的信号电平做出快速响应。这反过来又降低了剪切的可能性。许多与“保持时间”和“衰减时间”相同的注意事项也适用。攻击时间应与衰退时间一起设置。如果系统需要快速响应,例如语音应用程序,则可能需要更快的攻击/衰退时间。另一方面,如果预期更稳定的输入信号,则较慢的攻击/衰退时间可能是最合适的。
ALC Mode.
ALC模式。两种操作模式可通过寄存器位ALCMODE使用。通过设置ALCMODE=0来选择正常ALC操作。通过设置ALCMODE=1来选择限制模式。在限制模式下,ALC最大增益设置为等于进入限制模式时的PGA设置。在该模式下,信号电平可以降低以防止过载,但不能增加到初始PGA增益设置以上——当选择限制器模式时,不使用寄存器字段MAXGAIN。在限制器模式下,增益控制电路的运行速度大约快4倍,以允许快速降低高信号电平和快速增加低信号电平。在麦克风录制过程中不要使用限幅器模式。
Peak Limiter.
峰值限制器。为了避免在PGA增益刚刚上升一段时间之后(例如,在一段安静时间之后)施加大信号时的削波,ALC电路包括峰值限制器功能。如果PGA增益之后的输入信号超过峰值阈值(固定在满标度以下1.5dB),则PGA增益以最大攻击速率倾斜下降(如ALCATK=0000时),直到信号电平下降到峰值阈值以下。无论何时启用自动高度控制,此功能始终启用。
Sample Rate.
采样率。ALC保持、衰减和攻击时间将根据所使用的采样率略有变化。例如,当以48kHz采样时,ALC保持、衰减和攻击时间等于寄存器定义中的值。如果实际采样率为44.1kHz,则ALC保持、衰减和攻击时间将按比例缩小44.1/48。
ALC Zero Cross/Time out.
ALC过零/超时。寄存器字段ALCZC用于控制PGA增益更新是否定时为发生在输入信号的零交叉点处。启用此功能可确保最大限度地减少PGA增益调整引起的弹出和点击,但此功能也可能导致更快的ALC响应。如果PGA增益步长足够小以消除零交叉检测的需要,则不需要零交叉选项。提供超时以确保如果在固定时间内没有发生过零,则仍然可以更新增益。超时是通过寄存器设置TIME_OUT启用的,它不是自动启用的。
Noise Gate Enable / Noise Gate Threshold / Noise Gate Type.
噪声门启用/噪声门阈值/噪声门类型。噪声门功能通过设置寄存器字段NGAT来启用。启用后,可以使用NGTH寄存器字段对噪声门阈值进行编程。噪声门阈值的范围在-76.5dBFS和-30dBFS之间变化,每阶1.5dBFS;该阈值是输入信号电平,低于该输入信号电平PGA增益将被静音或保持恒定。可以通过寄存器字段NGG设置噪声门类型(静音或保持增益)。
1.对于语音录制,需要快速ALC响应,以便快速补偿不同人群的声音和相对于麦克风的移动。
2.对于音乐录制,不建议使用快速响应,因为它可能会导致响应于音乐信号电平的任何突然变化的削波。最大增益设置的减小可以有助于避免在安静时段之后音乐水平增加时的削波,并限制ALC调整的程度。这可能不是所有音乐应用程序都希望的,因此在推荐的设置中没有显示。这是用户在为已知操作环境进行优化时应考虑的众多调整之一。
3.对于通用录音,ALC必须尝试容纳所有类型的声音,必须找到一个折衷的设置。对于能容忍鼓掌等脉冲的ALC反应,因此,建议ALC攻击时间不宜设置得太快,ALC衰减时间不宜设置得太慢。如果需要,可以调整最小和最大增益设置以限制ALC控制的范围。设置的组合应允许ALC快速响应信号电平的变化和脉冲型声音,但也应最大限度地减少由相关电平变化引起的增益泵。