电话CODEC通常带有一个脉冲编码调制(Pulse Code Modulation,PCM)接口。严格来说,PCM概念包含了今天我们正在使用的大多数数字格式,其中包括I2S;PCM的初衷是将数字编码和诸如调频之类的模拟技术加以区别。然而,在数字电话中,PCM通常指一种特定的,与Hi-Fi立体声不兼容的单音数据格式。
计算机音频的出现也孕育了另一类接口的的出现。由于质量要求与现有消费音频市场类似,就出现了以不同的取样率(特别是8kHz、44.1kHz和48kHz)来播放录制好的音频文件的需求。虽然以软件方式进行取样率转换是可能的,但是代价也非常昂贵。因此,目前已普遍使用的AC 97标准将该项任务交给CODEC处理,通过专门的硬件可以实现非常高的效率。目前,AC 97已经成为计算机音频领域的主导性工业标准。
便携式系统起初时还保持着自己的本来面目:个性CD、迷你唱碟和MP3播放器使用的是I2S DAC,移动电话保留了PCM技术,而具有音频增强功能的PDA一般采用同台式计算机相同的AC 97 CODEC。因此,这简直令人震惊,第一代组合系统通常含有电话和PDA两块电路板,两者背靠背排列在一个机箱内,其PCM通话CODEC由通讯处理器进行控制,Hi-Fi立体声(AC 97或I2S)CODEC则由应用处理器进行控制。然而,CODEC根本就不是为这类应用设计的,几乎很少或者根本就没有为这两个音频子系统之间的互联互通做任何考虑。因此,工程师通常会在模拟信号路径中插入一些分立的固态(solidstate)开关,但是这也引入了噗噗声、咔咔声和谐波失真,并且占用PCB空间。
整合
显然,为上述应用量身定做一个整合方案是很受欢迎的。受系统级芯片(SoC)设计理念的启发,某些厂商已经将立体声DAC或CODEC集成到大规模集成电路中。然而,这类方式并不能实现专用音频芯片所达到的音频质量。将电源管理IC和音频IC组合在一起通常会折损音频质量,因为电源调节器通常会向附近的音频信号路径中引入噪音。
将音频整合到数字IC中同样非常棘手,因为真正的Hi-Fi元器件一般要求采用最适合混合信号应用的0.35μm工艺,而数字逻辑电路已经发展到了0.18μm甚至于以下水平。对於这两种单芯片整合方法来说,不是折损模拟范畴的性能,就是整个芯片的尺寸增大到难以接受的程度(如果整个IC按照较大的几何原理进行设计的话)。
喇叭放大器会产生大量的热量,需要采用适当的散热装置,特别难以整合。很多组合式芯片缺少这种功能,因此不能将其当成真正的“系统芯片”方案对待,它们通常需要一个外部扬声器驱动器IC。另外一个常见的问题是由于希望IC尺寸尽可能小,导致模拟输入或输出数量不足。在方形封装(如QFN四方扁平封装,无引线)中,管脚环绕IC四周排列,可以通过将每边的长度延长1mm来容纳少数额外管脚,导致IC脚距大幅度增加。举例来说,从5×5mm增加到6×6mm需要额外占用11mm2 PCB面积;如果从10×10mm封装开始,额外增加的面积就是21mm2。
专用音频IC避免了这些问题。通过将其它混合信号功能(如触摸屏数字化处理)与通话CODEC和Hi-Fi CODEC集成,依然可以降低芯片管脚总数。这里,通话CODEC集成于电话芯片组中,Hi-Fi CODEC带有另外的模拟输入、输出和内部混频功能可能比较合适。另一方面,带有蓝牙连接专用PCM接口的双CODEC也是非常有益的。
实现音频整合的方法有很多。共享ADC和DAC能减少硬件成本,但是却不能同时播放或录制两个音频流。为每个功能配置专门的转换器可以克服这个问题,而且还能延长电池的使用寿命,因为电话级(telephonygrade)音频模块的功耗可以设计得比Hi-Fi功能的功耗还要低。然而,这类解决方案却增加了矽圆的成本。一个普遍的折衷是采用一些分立DAC,但是却要共享这些ADC。这就允许通话(例如第二个来电的响铃或音乐)的同时播放音频,但是通话过程中应用处理器不会将这些记录下来——这是一个可接受的局限性,因为用户在这样的使用场合下并不愿意查看第二个来电究竟有多大的接听价值。关闭一个通道,并使另一通道以低取样率运行,可以控制DAC的功耗。
计时和接口
虽然在通讯和应用两个领域之间共享内部电路模块是可能的,但是这种情况却不会在接口应用发生。这是因为每个音频数据流均按自己本身的时钟频率,运行于一个独立的时钟领域。只有这种情形存在,组合式智能电话CODEC就同时需要一个PCM接口和一个独立的I2S或AC 97连接。
在固定系统中,音频时钟通常是由石英晶体振荡器产生的。举例来说,AC 97规定符合该规范的CODEC应该具有一个与外部24.576MHz(512×48kHz)石英晶体相连的片上振荡器,而I2S零件则使用多重取样率,最常见的是256。但是,在智能电话设计中,在额外功耗、PCB空间、和时钟石英晶体成本的驱使下,设计师只好从另外一个已经存在于PCB上的时钟来派生Hi-Fi时钟。虽然复杂的奇数频率比(odd frequency ratios)需要由锁相环(PLL)实现,该方案依然偏向于采用外部石英晶体,因为低功耗、低噪音PLL能够以较低的成本集成到混合信号IC中。该方法也适合其它子系统可能需要的一些时钟信号,例如视频增强型电话应用中MPEG解码器的标准27MHz时钟。在I2S CODEC中,不同取样率需要不同的时钟频率,只要简单地将字时钟LRCLK(其频率为取样率)乘以256或任何其它固定数字,PLL就能够在每种情况下提供正确的时钟。因此,元器件厂商一般倾向于在他们的智能电话CODEC中集成一个或两个PLL。
话筒
在智能电话设计中,很多最棘手的问题都与话筒有关。通常我们考虑的话筒至少有两种:内建(内部)话筒和外部话筒,后者是耳机的一部份。为了消除噪音或实现立体声录制,可能需要一些辅助性内部话筒,而汽车免提设备可能要与另一外部话筒连接。除通话外,这些话筒也可在应用处理器的控制下录制通话记录,或者甚至于视频剪辑的声音轨道。
为了完全消除片外切换(off-chip switching),智能电话CODEC需要提供足够的话筒输入,最好具有可独立调整的增益,以及灵活的内部路由路径,以覆盖所有使用场合。除录音功能外,还应该提供一个“侧音(side tone)”功能。这就为模拟输出添加了一个衰减版本的模拟输出,手机呼叫者就能够听到他们自己的声音。当插入或拔出耳机时,插入检测能够使内部话筒和外部话筒之间无缝切换。
噪音是另一通常关注的问题。线路中的高频和数字零件产生干扰信号,这些信号被负载话筒信号的PCB布线捕获后,将被片上前置放大器放大。小心进行电路板布线在避免这个问题时起到了很大作用,采用差分话筒输入则是另一有效方法。然而,输入具有各自独特的布线要求:这两条PCB线路一定要并排分布,并且彼此相邻,这样一来,任何出现于某一线路的噪音也必将出现在另一线路中,从而使其完全从话筒前置放大器中消失。
消除噪声属于分离问题,需要两个话筒:一个负责拾起带有背景噪声的扬声器话音,另一个只负责背景噪声。在模拟领域,简单的减法操作几乎无法达到满意的结果,因为两个噪声信号的在相位和振幅方面有所不同,具体取决于噪声进来的方向。这里也需要数字信号处理,但是通过对这两个话筒信号进行数字化处理,CODEC必须使任务更容易完成。
另外一类出现在户外应用的噪音是风噪音。该噪音主要局限于200Hz以下的频率,可以通过高通滤波器大幅度减小。最简单的解决方案是在话筒的输入级使用一个较小容值的耦合电容器。然而,这也阻止了话筒在户内音乐录制方面的应用——这有可能使低音也消失。对於双用话筒,滤波应因此成为一种备选项。值得一提的是,大多数音频ADC已经带有一个内建的高通滤波器,用以去除数字信号中的直流偏压。集成电路厂商已经为移动电话应用定制了这个特征:少数Hz用于Hi-Fi,100-200Hz用于具有风力噪音滤除增强功能的通话。当然,模拟滤波和数字滤波也可以组合在一起,以创建更高阶的滤波器特性。
耳机和耳塞
应对移动电话耳机也需要特定的模拟电路。第一个明显的任务是当耳机插入时,将来自听筒或其它扬声器的输出信号重新路由到耳机。虽然整合有插座的机械开关也能做到这一点,但是他们的体积很庞大并且成本很高。
而且,用于扬声器的信号电平可能并不适合耳机。用于听筒、扬声器的独立模拟输出,以及带有独立音量控制功能的耳塞可以解决这个问题,而且还容许使用一个比较简单的插座。虽然依然需要一个机械开关,但是一端连接于接地引脚的单孔、单掷机械开关已经足够,所以插座只需要一个外部引脚。然而,在多媒体电话中,开关的激活没有必要代表耳机的插入;对一个标准规格的插座来说,这可能正好相当于一个没有话筒的耳机。因此,话筒的存在与否应该独立检测。