拆开一颗 1980 年代的开关电容滤波芯片

CuriousMarc 翻出一颗查不到型号的 Harris 芯片,Ken Shirriff 用显微镜把它认成了 MF10 开关电容滤波器,再逐块讲清它怎么用开关电容代替电阻、怎么用两个积分器加一个加法器搭出状态变量滤波器。

中文
复制
一颗 Harris 陶瓷封装的集成电路,外壳上标着 F1-10-5,日期码为 1985 年;金属盖已被撬开

有时候,用显微镜反而更容易辨认一块IC。 CuriousMarc在整理一箱旧IC时,翻出几块Harris的芯片,上面标着“F1-10-5”, 这个型号在任何数据手册里都查不到。 认不出来的IC等于废品,于是他给了我一块做分析。 正好它是陶瓷封装,拿凿子轻轻一敲就能打开。 在显微镜下,芯片最显眼的地方是一片方形电容阵列。 看到这么多电容,我猜它是一块开关电容滤波器。 芯片裸片还提供了另一条线索:型号HF-10。有了这些信息,我们很快 就查到,这块芯片是Harris生产的标准MF10开关电容滤波器芯片。1 Harris集成电路,标着F1-10-5(也可能是FI-10-5),日期代码为1985年。照片由CuriousMarc提供。Harris集成电路,标着F1-10-5(也可能是FI-10-5),日期代码为1985年。照片由CuriousMarc提供。

开关电容滤波器是1980年代实现模拟滤波器的一种流行方案。 让电容在电路中快速切换通断, 就能做出单芯片滤波器, 既好用,性能也不错。 MF10由National Semiconductor于1981年推出,一颗芯片上集成两个可灵活配置的滤波器;每个滤波器 都能当低通、带通或高通使用。 只需几个外部电阻,就能轻松控制滤波器的特性。

显微镜下的Harris HF-10裸片,主要功能模块已标注。(点击查看大图。)显微镜下的Harris HF-10裸片,主要功能模块已标注。(点击查看大图。)

既然芯片已经在显微镜下了,我就顺便仔细分析了一番。 白色的线是连接芯片电路的金属布线。金属层下面 是两层多晶硅(偏红色),再往下是硅基底(灰色)。 芯片的上半部分和下半部分基本互为镜像,对应 芯片的两个滤波器。 芯片中央那些显眼的红色方块是72个微型电容, 由多晶硅制成。 电容上方是CMOS开关,按时钟频率通断, 把电容切入切出电路。 每个滤波器用三个运算放大器(运放),用红框标出。 右侧是三个运放的三个输出:高通、带通和低通。 控制电路在左侧:时钟电平转换、时钟整形、频率比 处理、启动电路,以及为芯片其他部分提供恒定电流的电流沉。 在硅裸片边缘,20根发丝般细的键合线 把裸片连接到20个外部引脚。

芯片上有一些有趣的图案:Harris 的 logo 和佛罗里达州的轮廓;Harris 的总部就在佛罗里达州墨尔本。 芯片上的姓名缩写应该是设计这颗芯片的工程师。

芯片上的一些有趣图案。芯片上的一些有趣图案。

开关电容电路

这款滤波器基于开关电容电路。 在某些电路中,开关电容可以替代电阻,如下图所示。 开关由时钟信号控制,在时钟相位 1 和相位 2(ϕ1 和 ϕ2)交替闭合。 相位 1 时,电容充电至输入电压;相位 2 时,电容把电荷传给输出端。 开关快速切换,电荷便(几乎)源源不断地流向输出端。 电容越大,流过的电荷越多;频率越高,同样如此。 可以证明,该电路等效于一个阻值为 1/(fC) 的电阻: 电容和频率越高,等效电阻越低。

开关电容可以替代电阻。开关电容可以替代电阻。

为什么要用这套复杂的开关电路去替代一个简单的电阻? 在集成电路中,电阻精度差,占用面积又大,高阻值电阻尤其如此。 用一个小电容替代大电阻,可以节省芯片面积。 而且,用廉价的石英晶体就能产生极其精确的时钟频率,滤波器的频率也随之非常准确。 最后,只要改变时钟频率就能改变等效电阻,滤波器的调谐或扫频因此变得很容易。

片上电容的精度相当差,受制造条件波动的影响,不同芯片的电容值通常会有 20% 的差异。 但这在 MF10 里不成问题,因为电路设计只依赖电容之间的_比值_,而比值是稳定的。 具体来说,MF10 使用了 72 个相同的方形电容,它们的电容值几乎完全一致。 仔细观察可以发现,有些电容是独立的,另一些则以 8 个为一组连成更大的电容。2 这样,成组电容与单个电容之间就得到了精确的 8:1 比值,尽管绝对电容值会因芯片而异。 每个电容由两层多晶硅构成,3 形成电容的两个极板,中间隔着一层起介质作用的薄绝缘氧化层。 我估计每个方形电容约为 5 皮法。

MF10 的电容器阵列。我加了黄线来标出电容器的分组方式。开关位于电容器上方和下方。MF10 的电容器阵列。我加了黄线来标出电容器的分组方式。开关位于电容器上方和下方。

这颗芯片在开关电容上还多用了一个技巧:它在充当电阻的同时把电压反相。 下面的开关电容电路有四个开关。 相位 1 期间电容器充电到输入电压,和之前一样。 但在相位 2 期间,注意电容器的上极板接地,而输出取自下极板。 如果电容器充到了比如 1 伏,上极板就比下极板高 1 伏。 那么上极板接地时,下极板必然是 -1 V。 (这和电荷泵是同一个思路。) 这个电路做出来的滤波器反而更精确,因为某些寄生电容会相互抵消。

用四个开关,开关电容就能把电压反相。用四个开关,开关电容就能把电压反相。

运放积分器

大多数模拟电路的核心是运算放大器,也就是运放。 运放取两路输入,把它们的差值放大许多个数量级。 通常运放接成负反馈,迫使两路输入基本相等。 运放不只用于放大,还用于滤波、缓冲、求和等等。

一个基本的运放积分器。一个基本的运放积分器。

这颗滤波芯片用运放做积分器,对输入电压随时间积分。 上图是一个简单的运放积分器。 输入电压产生电流,流过电阻给电容器充电,于是电容器上就保持着输入电压随时间的积分。 你可能会以为电容器左侧充电时会变正。 但运放的反馈迫使两路输入都钳在接地电位,所以变成电容器右侧变负。因此输出是负的积分。4

MF10 芯片采用的就是上面的电路,只是把电阻换成了开关电容。运放两端的电容不参与开关切换,而是由电容阵列中的 8 个或 16 个电容组成。

CMOS 开关

CMOS 开关是让开关电容滤波器成为可能的关键技术。CMOS 开关闭合时电阻相当低(大概几十欧姆),断开时电阻极高(数百兆欧)。正是这个高电阻保证了电容上的电荷不会泄漏。

CMOS 开关由一个 NMOS 晶体管和一个 PMOS 晶体管组合而成。NMOS 晶体管和 PMOS 晶体管特性相反。NMOS 晶体管擅长把输出拉低,PMOS 晶体管擅长把输出拉高,两者配合就能构成一个有效的开关。NMOS 晶体管靠栅极上的高电平导通,PMOS 晶体管则靠栅极上的低电平导通。因此,CMOS 开关需要两个极性相反的控制信号,这算是个小小的麻烦。

A CMOS switch.一个 CMOS 开关。

上图展示了如何用并联的 NMOS 晶体管和 PMOS 晶体管实现一个开关。当控制线为高电平、反相控制线为低电平时,两个晶体管都导通,为开关电路提供一条通路。当控制线为低电平(反相控制线为高电平)时,晶体管截止,开关断开。

芯片成对使用 CMOS 开关,一个导通,另一个截止。这等效于一个切换开关,把 A 或 B 接到输出端。这个电路其实就是两个 CMOS 开关,各自有独立的控制线,如下图所示。在 MF10 中,开关以时钟频率切换。在一个时钟相位内,开关接到 A,而在另一个时钟相位内,开关接到 B。下面右侧的原理图是同一个电路,只是重新排布以对应芯片裸片上的布局。

一个双掷 CMOS 开关。一个双掷 CMOS 开关。

下图展示了芯片上的一个 CMOS 开关,由两个 PMOS 晶体管和两个 NMOS 晶体管构成。 四条控制线以多晶硅形式水平走线,在与掺杂硅交叉处形成晶体管栅极。 上方的 PMOS 和 NMOS 晶体管由时钟相位 1(Φ1)信号驱动,下方的晶体管则由相位 2 信号驱动。

芯片上的 CMOS 开关。金属层已被去除,以便看清晶体管。芯片上的 CMOS 开关。金属层已被去除,以便看清晶体管。

开关电容滤波器的一个问题是,时钟会产生开关噪声,并出现在芯片输出中。MF10 采用多种技术来降低时钟噪声。 每组晶体管周围都有两个隔离环:一个正、一个负。它们阻止噪声通过硅衬底传播。 注意,NMOS 晶体管和 PMOS 晶体管的隔离环极性相反。 上图中的浅棕色区域是第二层多晶硅。这层多晶硅接地,在开关电路上方形成屏蔽层。

对于上图,我用酸5去除了金属层,让晶体管更清晰可见。 下图是原始芯片,金属层仍连接着各个晶体管。 那些小黑点是金属层与硅或多晶硅之间的连接。

同样的 CMOS 开关,显示金属层。同样的 CMOS 开关,显示金属层。

综合起来:状态变量滤波器

制作滤波器的方法有很多。 MF10 芯片采用的是一种称为状态变量滤波器的技术,发明于 1967 年。 该电路相当于三个滤波器,分别提供高通、带通和低通输出。 而且,这个电路很灵活,因为频率、增益和滤波器品质因数(Q)可以独立调节。 它使用三个运放:一个用于信号求和,两个用于积分。 改变求和方式,就能改变滤波器的特性。 下图是状态变量滤波器的简化表示。 状态变量滤波器背后的数学很复杂,这里就不展开了。 简而言之,信号、积分和双重积分构成三个状态变量,定义了系统的状态。

状态变量滤波器的简化示意图,包含两个积分器。灵感来自 North Coast Synthesis。状态变量滤波器的简化示意图,包含两个积分器。灵感来自 North Coast Synthesis。

下面的框图展示了 MF10 数据手册中滤波器的表示方式。6 这张图与上图类似,包含三个运放。 不过,求和电路被单独拆了出来。 此外,反馈路径没有明确画出。 取而代之的是,芯片外部引脚(方块)之间连接电阻,用来把滤波器配置成想要的样子。 顶部的模式开关让低通反馈可以由一个外部引脚(SA/B)控制。

其中一个滤波器部分的框图。改编自数据手册。其中一个滤波器部分的框图。改编自数据手册。

下面的原理图是我逆向工程得到的滤波器原理图,对应芯片上的实际实现。 它与框图高度吻合,但补全了细节。 在框图中,求和电路(圆圈)将一个信号相加、两个信号相减。 这个求和电路由左侧的三个开关电容实现, 它们充当求和电阻。 注意,其中一个开关在第 1 相位接地,其余开关在第 2 相位接地; 切换极性即可实现相加与相减。 最上方的求和输入要么是来自低通输出的反馈,要么是地,由某个输入引脚选择。 这里用的是 CMOS 开关,但该开关是静态的,不接时钟,所以不像其他开关那样需要保护环和屏蔽。

我逆向工程得到的其中一个滤波器的原理图。点击这张图(或任何其他图)可查看大图。我逆向工程得到的其中一个滤波器的原理图。点击这张图(或任何其他图)可查看大图。

积分器的输入端接有开关电容,充当电阻。 积分电容是 8 个或 16 个“方块”的电容,由比例选择引脚选定。 这决定了时钟频率与滤波器频率之间的比值, 要么是 50:1,要么是 100:1。7 虽然积分电容接在 CMOS 开关上,但该开关是静态的,所以 这些电容就是普通电容,而非开关电容。

运算放大器

这些运算放大器是相当标准的 CMOS 运放,由大约 35 个晶体管构成。 (如果你去数下面的晶体管,可能会数出更少的数量,因为有些模块本身包含多个晶体管。) 运放所用的晶体管比 CMOS 开关晶体管(最下方中央)大得多。 在芯片上,每个运放分成两部分:左边是差分放大器,右边是额外的放大级。两半之间有一个大电容(偏粉色)。我起初以为这是积分电容,但它只是一个频率补偿电容,许多运放都用它来稳定输出。 运放输出引脚旁边还有大尺寸晶体管;这些晶体管在功能上属于运放的一部分,但被放在引脚旁边以减小电阻。

芯片中的一个运放。我去掉了金属层,让晶体管显露出来。芯片中的一个运放。我去掉了金属层,让晶体管显露出来。

运放的一个不寻常之处是低功耗模式。 将某个 IC 引脚拉低会让芯片停止滤波并进入低功耗模式,功耗降低 70%。 其实现方式是关闭为运放和芯片其他部分提供恒定电流的“电流镜”电路。

非重叠时钟发生器

MF10 芯片由外部时钟信号驱动,每个滤波器对应一个时钟,滤波器频率与时钟频率成正比。 前面那张 CMOS 开关的照片显示,时钟为开关驱动四条控制线。 你可能会觉得两条控制线就够了:时钟和反相时钟。 问题在于,必须避免两个开关同时闭合,哪怕只是一瞬间也不行,否则会短路输入并破坏信号。 因此,两个开关各有独立的控制线,强制在一个开关断开与另一个开关闭合之间留出一小段间隙。 实现这一点的电路如下:它接收输入的时钟信号,产生驱动开关的四路输出。

产生非交叠时钟信号的电路。门 A 或 B 导通与对应输出发生变化之间存在延迟。产生非交叠时钟信号的电路。门 A 或 B 导通与对应输出发生变化之间存在延迟。

这个电路的思路是:一个相位被挡住,直到另一个相位变低之后才能变高,两个反相器则提供额外的延迟。 具体来说,假设输入时钟从高电平降到低电平。 门 A 关断,相位 1 输出(ϕ1)经过几个门延迟后下降(A 延迟)。ϕ1 变低之前,门 B 无法导通。再经过若干门延迟,ϕ2 变高。 输入时钟升到高电平时行为类似。门 B 关断,ϕ2 经过一段延迟后变低。这使门 A 得以导通,再经过更多延迟后 ϕ1 变高。 概括起来,一个相位关断之后,要过一段时间另一个相位才导通,因此两个相位永远不会重叠。

时钟整形电路由 CMOS 逻辑门实现。时钟整形电路由 CMOS 逻辑门实现。

上图是去掉金属层后在显微镜下看到的该电路。矩形块是构成晶体管的掺杂硅。 左侧较暗的区域是 NMOS 晶体管,右侧较亮的区域是 PMOS 晶体管。一个 CMOS 门由 NMOS 和 PMOS 晶体管协同工作构成。 PMOS 晶体管更大,因为 PMOS 晶体管比 NMOS 晶体管效率略低。 深色圆点是硅与上层金属之间的接触孔。 铜色的线条不是金属,而是一种特殊的硅——多晶硅。 多晶硅线条跨过掺杂硅时,就形成晶体管的栅极。 粉色和绿色来自一层未完全溶解的薄氧化层产生的薄膜干涉;硅本身其实是灰色的。

三值输入

这颗芯片有个奇怪的设计:一根输入引脚,用来选择输入时钟与滤波器频率之间的比值。 实际上,这是一个有_三_种取值的数字输入。 把引脚接到高电源电压,选中 50:1 的比值;接到两路电源电压的中点,选中 100:1 的比值。 把引脚拉到低电源电压,滤波器停止工作,芯片进入低功耗模式。8

为了处理这种三电平输入,信号要经过两个独立的缓冲器,一个在较低电压处翻转,另一个在较高电压处翻转。 这样,两个缓冲器就把中间那档电平区分了出来。 每个缓冲器由一个特殊的反相器驱动一个普通反相器构成。

在解释特殊反相器之前,先回顾一下普通 CMOS 反相器的工作原理。 CMOS 反相器由一个 PMOS 晶体管和一个 NMOS 晶体管构成。输入为高时,NMOS 晶体管导通,把输出拉到地;输入为低时,PMOS 晶体管导通,把输出拉高。于是输入信号被反相。

A CMOS inverter is constructed from a PMOS transistor and an NMOS transistor.CMOS 反相器由一个 PMOS 晶体管和一个 NMOS 晶体管构成。

在这张芯片照片里,可以看到四个 PMOS 晶体管(浅灰色)和四个 NMOS 晶体管(颜色更深),组成四个反相器。 多晶硅线条(铜色)跨过掺杂硅区域的地方,就形成一个晶体管的栅极。 为了拍这张照片,我用酸溶掉了金属层,晶体管才露出来。 金属层原本负责连接晶体管、完成反相器的布线:它把两个 "out1" 触点接到 "in2",把两个 "out2" 触点接到芯片的其余部分。第二个缓冲器则是 "out3" 接 "in4",依此类推。

The four inverters that handle the ternary input. I flipped the image to make the orientation better.处理三值输入的四个反相器。我把图像翻转了一下,方向更好看。

在这个电路中,晶体管栅极的长度各不相同,从而使反相器在不同的电压电平下翻转。 其中六个晶体管栅极为常规长度(橙色箭头);PMOS 栅极在垂直方向上比 NMOS 栅极更宽, 因为 PMOS 晶体管本身较弱。 但有两个晶体管栅极特别长(水平方向,红色),电流需要走更长的距离,晶体管因此变弱。 左侧的反相器有一个弱 PMOS 晶体管。输入为高电平或低电平时,反相器正常工作。但输入处于中间电平时,两个晶体管都会部分导通。由于 PMOS 晶体管非常弱,NMOS 晶体管会“胜出”,把输出拉低。 因此,最左侧的反相器把中间电平的输入当作 1,输出 0。 第三个反相器则相反:NMOS 晶体管的栅极又长又绕,因此很弱。这时中间电平的输入会让两个晶体管都部分导通,但 PMOS 晶体管会“胜出”,把输出拉高。 总之,这两个反相器对中间电平信号的行为相反,三种输入电平因此得以区分。 特殊反相器的输出可能较弱,所以要再经过一个常规反相器来放大信号。

结论

和大多数半导体公司一样,Harris 的历史相当复杂。 Harris 早在 1895 年成立时是一家印刷机公司。 20 世纪 50 年代和 60 年代,Harris 进军高科技领域,收购了多家无线电和电子公司。 具体来说,Harris 于 1967 年通过收购 Radiation, Inc. 进入 IC 业务,几年后将其更名为 Harris Semiconductor。(我们在 Apollo 系统中遇到过一些 Radiation 模块,但还没有写过。) Harris 于 1999 年退出半导体业务,将 Intersil 分拆出去,后者后来被日本半导体公司 Renesas 收购。 2019 年,Harris 与 L3 Technologies 合并,成为 L3Harris,美国第八大国防承包商。

开关电容滤波器已经不那么流行了,因为现在用数字方式做滤波更容易。 Texas Instruments 在 2011 年收购了 National Semiconductor(连同 MF10); TI 的网站显示 MF10 仍在售但价格昂贵且缺货,所以很可能已经停产。 状态变量滤波器在合成器领域仍在使用,一是因为灵活,二是因为一颗芯片就能同时提供低通、带通和高通滤波。

更多内容,欢迎在 Bluesky(@righto.com)、 Mastodon(@kenshirriff@oldbytes.space) 或 RSS 上关注我。 感谢 CuriousMarc 提供这颗 IC。 AI 声明:尽管文中出现了破折号,本文写作过程中没有使用 AI(详情)。

注释与参考资料

  1. 找到“HF-10”这个型号后,一次搜索查到了 National Semiconductor 的数据手册,确认 Harris HF-10 是 National Semiconductor MF10 的直接替代品。 至于 Harris 这颗芯片外部为什么标的是“F1-10-5”而不是“HF-10”,仍然是个谜。 这个格式不像 Harris 的其他型号。我一度怀疑是军用型号,但它和我见过的其他芯片上的军用格式完全不同,比如 JM38510 编号或 NSN 编号。 ↩
  2. 你可能会问,为什么大电容是用八个小电容方块连起来,而不是直接做一个八倍大的电容。 原因是为了让两种电容的匹配更好。 八倍大的电容并不会正好有八倍的电容值,因为电容边缘电场的行为、可能让电容比设计值略大或略小的误差,以及边缘刻蚀的不均匀性等因素都会产生影响。 用相同的小电容拼出大电容,值可以匹配得非常好,据 The Art of Analog Layout 说可达 ±0.01%。(用激光 trimming 可以做到 ±0.001% 的匹配,但 MF10 远不需要这么高的精度。) ↩
  3. 那个年代的大多数芯片只有一层多晶硅,所以在这颗芯片里看到两层让我很意外。 我以前见过两层多晶硅,是在 MK4116 DRAM 芯片 和 AMD 的 LANCE 以太网芯片里。 这两例中,第二层多晶硅都用于存储器件。 ↩
  4. 标准的运放积分器是反相积分器,输出为负。 但 MF10 用的四开关开关电容会反转输入电压。 两个负号抵消,所以 MF-10 的积分器是同相积分器。 细节见 Introducing the MF10: A Versatile Monolithic Active Filter Building Block。 ↩
  5. 为了去掉金属层,我用 Whink 除锈剂(1.5–3.5% HF)去除氧化层,用盐酸溶解金属。 Whink 处理了 20 分钟,HCl 总共处理了 16 分钟。 两种试剂交替使用,每次约 3 分钟,一次滴几滴。 每次处理后都在显微镜下观察芯片,判断进度。 我在这里停了下来,因为金属层已经去除,底下的晶体管清晰可见。此外,硅片出现了差异染色,NMOS 晶体管明显比 PMOS 晶体管更深。再用一些 Whink 大概能让芯片外观更好,但风险是多晶硅可能被一并去除,这对逆向工程不利。 换句话说,我宁愿停得太早,也不愿毁掉我想看的结构。 ↩
  6. 供参考,芯片的完整框图如下,来自数据手册。 德州仪器数据手册中 MF10 的框图。德州仪器数据手册中 MF10 的框图。 ↩
  7. MF10 的滤波器频率可以设为时钟频率除以 50 或除以 100。 你可能会问这两个比例从何而来,毕竟芯片上的电容是 8:1 或 16:1,而不是 50:1 或 100:1。 开关电容积分器的公式是:滤波器频率等于时钟频率除以 2π 再乘以电容比。 (这可以从运放积分器公式和开关电容的等效电阻推导出来。) 结果 2π×8 是 50.27,2π×16 是 100.5,正好给出 50 和 100 这两个值。 注意这些值并不精确等于 50 和 100,偏差为 0.5%。 奇怪的是,数据手册标明典型频率误差为 ±0.2%,明显更小。 我猜测原因是电容比并非精确的 16:1,布线中的寄生电容等因素都会产生影响,而设计者确保这些因素把比例微调到了所需的方向。 ↩
  8. 我猜测使用三态输入引脚是因为芯片没有足够的物理引脚来实现他们想要的全部功能。 注意两个滤波器完全独立,甚至时钟也是分开的,只有 50/100 比例控制和 A/B 模式控制是共用的。如果芯片有足够的引脚,这两个功能肯定会有各自独立的控制引脚。 他们本可以为芯片采用标准的 24 引脚封装,而不是略显 unusual 的 20 引脚封装,但也许他们有理由避免使用大得多的 24 引脚封装。 ↩

来源: righto.com← 返回首页