可编程模拟IC之考虑

FPGA/ASIC技术

205人已加入

描述

可编程模拟IC之考虑

模拟电路的设计与处理器、FPGA和PLD的设计,在体系结构上有着本质的不同。对模拟电路只要你定了电路的拓朴布局和参数,该电路的信号处理功能也就基本上固定不变了。当然,有些现成的功能电路块,如各种滤波器,你可以通过改变钟频(对于开关电容器设计)或调整通过DAC的各种电路因素,以数字式方式来调整诸如截止频率、滚降和其他功能等,但这些调整只能算作例外。大多数的设计在其功能上是固定的,而且在其运行性能上也几乎不可改变的。

这种固定不变的特性并非坏事,而且事实上往往也确实如此。这种固定的性能,就可以使模拟信号处理通道的性能也因此而稳定,变成了系统中几乎没有什么变化的一条通道。但是,在模拟设计师看来只要对FPGA或PLD重新编程,或常常用不着变动印刷电路板或板上的任何器件,而通过改动软件就能轻松地进行修改,上级或调整电路功能时,自然会抑制不住对可编程性器件产生好感了。

其实,模拟设计师在可编程性上还真有选择的余地呢!现在有几家厂商提供的模拟IC使你可以把这些器件的性能的设定或修改作为一次性的生产步骤(见图5),或在你的系统进入现场应用后,仍可再建立或修改器件的布局或性能参数。这种可编程性提供的好处就是可配置性,甚至是可重新配置性,或者说是提供了使你的电路性能去适配应用系统动态性能的能力。模拟IC使你能在不同的设计中使用那些相同的部分,并对模拟电路设计的安全保密提供某种程度的保护,以防范别人从观察有源器件和无源器件以及它们之间的互连方法而探究出或估测到你所设计的电路的安全保密问题。

对于这些可编程模拟器件的种种前因后果和局限性,以及在系统中使用这种多少有些独特的模拟器件会带来的种种横向影响,你都应该审慎地加以考虑。

关于程序
与许多技术术语一样,"可编程 "和"可编程性这两个词也有各种不同的解释,这要取决于使用者和讨论对象是哪种器件。可编程数字式器件可以是执行固定代码或变化代码(程序)的处理器。它可以是一个可编程器件,其电路互连在出厂前就已掩膜编程,或由OEM在现场编程,如门阵列或逻辑器件那样。也可能意思是指用户定义某些功能参数,例如比特率,并把它们存在内部寄存器里。

对于模拟可编程性,这些定义中有些就不适用;你并不执行顺序代码指令。在使用可编程模拟电路时,可以由工厂或由OEM按预期的模式互连各模拟单元,或者甚至可以在现场应用对各个单元重新编程。另一种方式是,电路在主要参数上是固定拓朴布局,但有些你可以按应用的要求设定和改变,如滤波器带宽或滚降。不过,在这种情况下,信号处理通道和基本功能要保持不变,改变的只是参数。

对模拟电路进行编程的愿望和能力并非鲜见。早期的模拟计算机就有接插线和接线板,使工程师们能够用基本的单元模块进行各种配置,并互换无源器件的子部件以满足各种要求。在采用IC的混合信号处理领域里,工程师们早就使用过数/模转换器(DAC)以数字的方式设置模拟电路的参数,特别是对滤波器,早已有人采用模拟开关对模拟信号处理通道进行再配置和再定路由。这种可再配置和可再定路由的体系结构,要求对结构规划、印制电路板设计和差错预算都要进行认真的分析。

当你需要可编程性时,似乎就意味着只有数字式是唯一的出路。然而,如果你对处理器和可执行代码做法没有偏见的话,你也还有多种理由选择模拟方式。例如,几乎每种信号处理应用都要求使用滤波器;甚至数字式滤波器也需要模拟奈奎斯特(Nyqaist)频率滤波器,以避免取样过程中的混淆现象。低电平信号通常需要经过放大后才能与变频器的信号兼容,并获得最大SNR(信噪比)和动态范围。就算你能用所有的数字式技术对信号进行滤波和整形,但相比之下,模块方法仍然是成本更低、功耗更小的方案。以峰值检波器为例,如果是采用模拟方案,只不过是一个或两个运算放大器和几个二极管的事,但如用数字方法去做,就要包括一个滤波器,一个数/模转换器,还要一个处理器。

不要把可编程模块IC混同于模块ASIC和掩膜编程阵列。有些厂家提供他们已做过模型的各种模拟单元电路库,把单元电路互连后就可以满足用户的应用要求。多年来,厂家和用户都相信,通过选用单元电路库中的单元电路,就能比较容易地搭配成所需要的模拟IC。或者更具体地讲,挑一个运算放大器单元,一个比较器单元,和一个乘法器单元更好。

不过,你对高性能模拟设计的要求,增加了设计师在配置和生产这些高性能IC的难度,因为明摆着有许多微妙而又相互影响的因素,如发热问题,以及与设计布局和处理过程而产生的各种因素。许多模块电路的OEM厂家,使用单元电路库作为标准产品设计的起点,但同时也要用他们的经验对最后的单元互连设计进行实质性的调整,才能使IC达到预期的目的。

厂家提供的品种终归有限
当你比较不同来源的基本模拟部件品种,如运算放大器和变频器时,就会发现它们在体系结构和性能上都有所差别。不过,一般这些差别是可以分析解决的,先要做一个有意义的比较,从比较基本技术规格开始,如带宽、稳定时间、线性误差以及关于性能和其他各种主要测量参数,然后再看更微妙也更关键的次要测量参数。

对于可编程模拟IC,各厂家都按基本原理提供产品。有些是基本模拟功能,如放大器;有些则含有更多的功能,本身可运行为处理模拟信号的子系统。你先要仔细审核自己的应用要求,再看市售的那种产品型号能有效地适用于你的设计。现有的产品也许正好适合或接近你的要求,也许就根本用不上。你可能还需要一个几乎对任选信号通道都能配置的自由阵列,或者只需要一个在布局和参数上有一定选择余地的滤波器。

如果从查看基本功能开始,那首先应该是MOSFET晶体管了。Advanced Linear Devices公司提供一系列通电可编程的模拟器件(EPAD)使你能在插入最后电路(图1)之前和之后,仍可调节阈值电压和接通电阻。这种EPAD在换能器前置放大器和传感器信号调节通道中,起电控微电位器的作用。如果你的应用系统需要保护的话,还可以把该器件密封起来,或者放在既碰不着又能工作的地方。但一旦设定,就能节省内部偏置电压。双ALD 1108E和四ALD110E器件的编程电平,电流为0.1至3mA,电压范围为1至3V,可以按0.1V分档量来编程。(请注意:加大阈值电压就相当于降低漏电流。)

从基础物理的角度来看,由外部注入的电荷,会改变进入浮栅衬底的EPAD参数;这些注入的电荷加大了阈值电平。如果你的设计需要双向控制,就应设置两个背对背的EPAD,因为这种编程是单一功能的(图1(b))。另外,对EPAD也不能无限次地重新编程。标准的EPAD电路一般只允许20到50次重新编程。当然,这对许多应用项目已经足够了。例如使前置放大器与传感器的特性或工厂校准的周期相匹配大概就是这个数。

用EPAD取代微调电位器的优点在于:EPAD直没有活动的零件,使用环境坚固,而且比起标准规格为2000分之一的10转机械器件来说,分辨率要高。另外,还可以先把EPAD密封起来,然后通过软件对它们进行调整。不过,对某些因素你也必须加以考虑,如EPAD的再微调周期有限,应用上还有许多难题,可选数值也有限。

EPAD的品种不只是基本的MOSFET。厂家还提供运算放大器ALD1722E和微功率ALD1726E,使你能设定起始偏置电压Vos。通过设定这个电压,就能够降低或消除由于偏压状态引起的Vos误差,和由于电源抑制比、共模抑制比和Vos温度系数误差而引起的一些后果。ALD1726E的起始输入Vos在出厂时为50mV,你可以把这个电压上调到610mV。售价1美元的运算放大器的工作电压可以低到2V,标准输入电流不到0.01pA,带宽为200kHz,转换速率为0.17V/ms。

在给EPAD编程时,要使用到售价为499美元的E100编程器(图2)。该编程器由使用Windows的PC操作,运行编程算法的目的是通过加快阈值电压的稳定以缩短编程时间。同时,这种编程器还把超调量缩小到超过其目标值。程序员有各种EPAD的样板,你也可以把它与售价为199美元的专用模块合起来使用,以适配各种专用的EPAD系列。

Xicor公司是可编程运算放大器的另一家供应厂商,提供一系列数控电子电位器(参考文献1)。该公司的X9430双运算放大器可以设定增益、偏置和功率电平,以满足不同应用的需要(图3)。通过调整偏置,可以校正信号频道以降低偏置漂移的影响,因为温度变化和老化常常引发漂移。

双运算放大器内还装有一个非易失性EEPROM,以存储所设定的参数;除了运算放大器所要求的4个字节外,EEPROM还提供有12个字节可用于其他与运算放大器无关的数据存储。通过一个SPI(X9430)X9438用的I2C串行接口对器件运行编程;也可以单独使用相关的数字电位器来控制IC中运算放大器的偏置。

对于更复杂的偏程电路,Sumnit Microelectronics公司把模拟电路与非易失性存储器组合成各种IC,用这些电路,甚至最终用户也能完成微调模拟功能,例如为监控电路设定阈值电平。这些器件所提供的好处是,如有必要,用户可以剪裁其中的一个部分去搭拼各种变化无穷的电路,或作为监控电路的一个部分。

例如,Summit Microelectronics公司推出一种售价为7.58美元(批量1000只)的SMS24可编程监控IC,就能设定两个配置电平。通过双线串行接口或系统编程器,其一,你可以变动复位输出极性,监视定时器复位,写保护优化以及手动复位等所用的引脚和内部块功能;其二,你可以建立电压阈值和定时周期所用的参数。复位电压阈值范围为2.15至4.75V。

另外,Summit公司还提供一种热交换控制器,型号为SMH4042,用这种控制器就能根据需要改变电压状态起始点。热交换控制器需要的基本功能在概念上是简单的,即先看监视主机电源电压和后端电压电平,再接通或断开控制向卡板逻辑电路供电电源的功率MOSFET。但在实践上,每个电源上,平台与平台之间的差别可以高达50mV。这个监控主机电压和卡板电压的IC上,有一个便于总线预充电设计的1V参考输出,一个用于可靠升压和降压的可编程斜率,以及Compact PCI信号交换和引脚检测。

把这个可编程参量的概念加以扩大,但仍保持固定的拓朴布局,Summit公司开发了SMS44四对电压监视器(图4)。你可以对每个监视器单独设定其监视职责,电压范围在0.9到6V,按20mV量分档,可以设定"看门狗"定时器的定时周期,建立各种被监视电压的逻辑组合以生成复位和中断输出,还可设定复位脉冲宽度。SMD1108IC则增加了一个8通道、10位的模/数转换器外加几条监视通道,另外也多了非易失性存储器。在每个器件上,还可以设定转换器通道的上限和下限,而且如果阈值出现交叉,IC就生成一个中断或报警信号。

对于要求可配置电路的设计,Lattice Semiconductor公司提供一系列模拟功能块和设计工具。有一种型号为isp PAC10的IC,售价不到7美元(批量1000只)它包括可以由模拟路由组合器互连的四个滤波器累加块(图5)。每个块有两个测量放大器和一个输出放大器。这种器件的最大可编程增益为620,增益范围为从零到160000,有可编程滤波器的响应,其目的功能为累加和合成。该IC还有一个2.5V的基准电压和非易失性存储器。而类似的isp PAC20,则增加了一个8位的数/模转换器和一对差分比较器。

你可以用在以PC为基础的设计工具和软件来设计你自己的信号处理应用项目;对于通用功能,如连续时间的双二阶和梯形滤波器,以及不同阶次的各种滤波器,可利用市上出售的宏功能块(图6)。这些滤波器的运行速度可以快到100kHz。你用市面上出售的功能块来设计电路,选择器件及其数值,对互连进行定义,然后运行模拟实验以验证该电路是否达到你的设计要求。

一旦你完成模拟实验,就对IC进行编程,可以作为一个独立的,也可以作为电路内的一个器件。内部非易失性存储器存储你选定的设定值。这些器件可提供可利用带宽为650kHz,在10kHz时THD为288dB动态范围为100dB。

对于更复杂的配置,Lattice公司最近推出了isp PAC80电路,是一种5V的可编程器件,用于对多种拓朴布局进行滤波,包括Butterworth,Cheybchev、Legendre、椭圆的,Gaussian和线性相位。这种连续时间五阶滤波器运行速度为500kHz,其频率设定精度也高到目标频率的3.5%,包括全部所需要的电阻器和电容器以及一个可编程增益放大器。所有内部电路,从输入到输出都是差分的。该器件将300mV的偏置电压与精密的CMOS放大器和1kHz交流时THD为290dB性能组合在一起。

可以对isp PAC80预设两个滤波器配置,再通过JTAG接口或SPI发送一条命令引导IC实施它们之间的交换。利用这种特性,可以使你的应用从宽带的快速完成信号采集模式,变为窄带信号精提模式,或根据信号的情况进行适配。售价149美元基于Windows的设计软件使你能够从滤波器品种库中挑选,方法是调看预期的性能目标和各种局限指标,也可以通过识别你所喜欢的拓朴布局加以挑选;你还可以对自己的电路进行定义。设计软件再为你挑选合适的配置和器件数值,提供直流和交流模拟,并对设计形成文件。

在灵活性和可配置性方面,Zetex公司提供了可再配置模拟万用电路(TRAC)系列(图7)。这种TRAC是属于对数字式FPGA的模拟。从直流到1MHz的TRAC020CH器件有20个模拟处理单元,可以通过互连形成信号处理功能。

对每个单元的功能或操作对象进行定义:开路、短路、加、求反、对数、反对数、整流微分、积分及放大和衰减。(中学数学学过:用对数和反对数函数再加上加法和减法,就能做乘法和除法)。TRAC利用所有片上器件实现上述的多数操作功能,但有些需要用户提供的外部电阻器和电容器才能实现;TRAC IC在内部寄存器里存储你所要的功能。但你要对你的信号处理功能先划出框图,然后再用TRAC单元加以实现(图8(a))和(b))。

在开发TRAC信号处理通道时,可以用运行Windows的PC和厂家的开发工具。售价为460美元的全套工具在仿真板上有四组20单元的TRAC器件和EEPROM,设计软件以及文件。利用这种软件,用户就可以着手设计,从软件的工具架上选出想要的单元功能并放到预期的单元上,加上互连接插件,再选择内部的各种器件以及内部和外部的各种连接。下一步是对性能进行模拟,看配置后的电路性能如何。最后是用并行电缆把你认为可以接受的配置数据从PC上下载到TRAC的寄存器里。如果你的用量比较大,对TRAC的实施方案也感到满意,就可以用限定高频参数时性能的金属掩膜互连层,把它做成一个固定功能,低成本型的器件。

你准备就此认可吗?
当你在设计的许多部分要用同样的未编程器件或在许多产品中有交叉情况时,用可编程模拟IC在灵活性、按要求可定制性以及库存管理和外购方面,就有一定的明显优势。当然,在真正实施之前,对某些重点要求是需要慎重考虑的。
首先,要考虑的问题是能达到什么样的模拟性能。从模拟IC厂家你能得到几千种模拟器件,在一级和二级技术规格中,如交流性能、直流性能、噪声、功耗和成本等你都能找到最好的器件,或是某些技术规格的组合,来适应你的要求。与这些固定功能的常规模拟器件相比,在单一性能参数或组合参数上,可编程模拟IC并不突出。可编程器件可以起平衡各种性能因素的作用,但这种平衡未必适合你的应用要求。这些器件趋向以低频到中频为目标,在这些档次上要求的是比较好的性能,但不一定是特别突出的性能。
其次要考虑的是,由于采用了可编程模拟器件,你就改变了航向,偏离了模拟IC的基本现实:许多基本器件,如运算放大器和转换器都有多个可替换的电路。厂家提供某些专利的或拔尖的器件,在一个或几个性能参数上是最优秀的,但如果厂家在发货上有问题时,你通常要找到近似的或可以接受的引脚兼容的替代品,甚至不得不做出一定让步或折中。
由于许多系统也使用专利产品;这种产品在设计的某些部分是没有替代品的,因此,大多数设计师和项目经理都想法尽量少用这种只此一家别无分店的产品。设计师只是在使用这种独家产品在竞争中能占据领先地位时,才使用它们。在设计的常规情况下,通常是在模拟信号处理范围内或电源功能上,你对万一厂家或厂家的产品出了问题,要有足够预防措施。
你购买非可编程器件时,就打算要厂家承担器件的检测、微调和封装,并保证器件的工作性能达到技术说明书上所列的规格。事实上,你是以潜在的器件灵活性来换取器件能达到最低的不稳定性,虽然你的最后电路还会有某些设计的不稳定性。当可编程器件的工作性能与你所期望的不一样时,究竟是因为器件失效而达不到技术规范的要求呢,还是你使用不当的结果,这些都是很难判定的。
对于可编程IC厂家提供的工具和开发系统,你也要用得顺手才行,因为在设计上你需要这些软件和编程单元。同样,这种情况与大多数模拟设计的做法不同,模拟设计使用厂家提供的技术规范和器件模型,但使用时也同时用支持模拟工具,如Spice,或各种来源的EDA工具。另外,这类不同的设计方法不需要编程系统。

再回来衡量各种选择
如果你的应用可以在较低的性能档次上运行,或者是要求比较灵活或难以界定,可编程模拟器件可能是合适的选择。根据你选定的器件,你可以改变器件的参数。你也可以改变电路的性能,甚至在过程中的改变其拓朴布局,减少材料清单上的库存量和独家产品,并开发可适应性设计,使系统处理器能改变模拟信号处理链路的特性参数使用这些器件,你还可能在某种程度上,保护你的设计秘密。
这些器件本身是独特的,限制你只能把它们用在某一范围内的通用项目上。你还需要专用的设计和模拟工具,也因此失去大多数模拟设计会享有的广泛选择厂家和机会。同时还要考虑对于应用的支持,对标准模拟器件所能利用的设计说明有多少,以及完成设计所需要的时间。
如果你的设计需要灵活性,你可能会觉得用标准的非可编程器件,和通过机械的或电驱动的方式对某些功能编程的能力,也许是一个不错的替代方法。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分