仪放压缩感知及​混合电路设计应用

2020-10-27 14:55:40 50

关于差分输入、PGA和仪表放大器及混合SOC设计,最近整理一些交流心得分享


下面是微群里的聊天记录


之前群里交流的内容多数还是在应用市场和商务MARCON上. 不妨换个角度,聊聊芯片内部的话题, 比如SOC, AFE, MCU 低功耗的设计.



针对于数字和模拟芯片设计者,大家对一款通用器件的理解和出发点是不一样的。比如, 可能大家对仪表放大器理解的角度就会有所不同吧,将差分输入,MUX, BUFFER,  PGA Gain都合起来可称为仪放功能再后级加ADC就算是AFE的概念了吧 不过将AFE+MCU集成为SOC的方式目前看起来还是以合封的方式为多。



一种带有仪放(Instrumentation Amplifier - IA)
压缩感知(Compressed Sensing -CS)的SOC内部框图




IA- Instrument Amplfiier (也有人简称为INA) , 对于独立的仪表放大器,HPA公司会认为主要的功能是高Vcm, 高CMRR/PSRR,高的开环增益,以及尽可能低的Vos。


仪表放大器电路的典型结构如下图所示。它主要由两级差分放大器电路构成。其中,运放A1,A2为同相差分输入方式,同相输入可以大幅度提高电路的输入阻抗,减小电路对微弱输入信号的衰减;差分输入可以使电路只对差模信号放大,而对共模输入信号只起跟随作用,使得送到后级的差模信号与共模信号的幅值之比(即共模抑制比CMRR)得到提高。这样在以运放A3为核心部件组成的差分放大电路中,在CMRR要求不变情况下,可明显降低对电阻R3和R4,Rf和R5的精度匹配要求,从而使仪表放大器电路比简单的差分放大电路具有更好的共模抑制能力。在R1=R2,R3=R4,Rf=R5的条件下,图1电路的增益为:G=(1+2R1/Rg)Rf/R3。由公式可见,电路增益的调节可以通过改变Rg阻值实现。



特性包括非常低直流偏移、低漂移、低噪声、非常高的开环增益、非常大的共模抑制比、高输入阻抗。仪表放大器用于需要精确性和稳定性非常高的电路。

虽然仪表放大器在线路图上是一颗运算放大器;但实际上是由三颗运算放大器所组成(如图一所示);仪表放大器分成两个部分,输入端的两个电压跟随器提供输入端(+,−)高输入阻抗,后级则是差分放大器,用来做两个输入端的差分放大;不过,通常第二级的差分放大器的增益会设计为1,也就是只做两个电压的相减运算。



实用的三运放组成的仪表放大器仿真测试电路




除了常见到的独立运放组成的专用INA仪放,我们还常在ADC内部电路中见到差分输入+PGA类似仪表的组合



一款典型的TI-ADS1282 32bit Ultra Delta-Sigma ADC
内置全差分输入 Mux TIA Buffer +PGA 





ADS1282配合外置Vref正负基准电压的外部接线示意图


关于压缩感知CS


一、什么是压缩感知(CS)?

compressed sensing又称compressed sampling,似乎后者看上去更加直观一些。没错,CS是一个针对信号采样的技术,它通过一些手段,实现了“压缩的采样”,准确说是在采样过程中完成了数据压缩的过程。

因此我们首先要从信号采样讲起:



1. 我们知道,将模拟信号转换为计算机能够处理的数字信号,必然要经过采样的过程。问题在于,应该用多大的采样频率,即采样点应该多密多疏,才能完整保留原始信号中的信息呢?

---------------------------------------



2. 奈奎斯特给出了答案——信号最高频率的两倍。一直以来,奈奎斯特采样定律被视为数字信号处理领域的金科玉律。

---------------------------------------



3. 至于为什么是两倍,学过信号处理的同学应该都知道,时域以τ为间隔进行采样,频域会以1/τ为周期发生周期延拓。那么如果采样频率低于两倍的信号最高频率,信号在频域频谱搬移后就会发生混叠。

---------------------------------------



4. 然而这看似不容置疑的定律却受到了几位大神的挑战。Candes最早意识到了突破的可能,并在不世出的数学天才陶哲轩以及Candes的老师Donoho的协助下,提出了压缩感知理论,该理论认为:如果信号是稀疏的,那么它可以由远低于采样定理要求的采样点重建恢复。

---------------------------------------



5. 而突破的关键就在于采样的方式。当我们说“采样频率”的时候,意味着做的是等间距采样,数字信号领域通常都是做等间距采样,也服从奈奎斯特采样定律。

但是如果是不等间距采样呢?依然必须要服从采样定理吗?

---------------------------------------



6. 答案是,随机的亚采样给了我们恢复原信号的可能。

上图非常关键,它可以简单直观地表述压缩感知的思路。如图b、d为三个余弦函数信号叠加构成的信号,在频域的分布只有三条线(图a)。如果对其进行8倍于全采样的等间距亚采样(图b下方的红点),则频域信号周期延拓后,就会发生混叠(图c),无法从结果中复原出原信号。

---------------------------------------



7. 而如果采用随机亚采样(图b上方的红点),那么这时候频域就不再是以固定周期进行延拓了,而是会产生大量不相关(incoherent)的干扰值。如图c,最大的几个峰值还依稀可见,只是一定程度上被干扰值覆盖。这些干扰值看上去非常像随机噪声,但实际上是由于三个原始信号的非零值发生能量泄露导致的(不同颜色的干扰值表示它们分别是由于对应颜色的原始信号的非零值泄露导致的)


P.S:为什么随机亚采样会有这样的效果?

这可以理解成随机采样使得频谱不再是整齐地搬移,而是一小部分一小部分胡乱地搬移,频率泄露均匀地分布在整个频域,因而泄漏值都比较小,从而有了恢复的可能。

---------------------------------------



8. 接下来的关键在于,信号该如何恢复?下面讲一种典型的算法(匹配追踪):

(1) 由于原信号的频率非零值在亚采样后的频域中依然保留较大的值,其中较大的两个可以通过设置阈值,检测出来(图a)。

(2) 然后,假设信号只存在这两个非零值(图b),则可以计算出由这两个非零值引起的干扰(图c)。

(3) 用a减去c,即可得到仅由蓝色非零值和由它导致的干扰值(图d),再设置阈值即可检测出它,得到最终复原频域(图e)

(4) 如果原信号频域中有更多的非零值,则可通过迭代将其一一解出。


以上就是压缩感知理论的核心思想——以比奈奎斯特采样频率要求的采样密度更稀疏的密度对信号进行随机亚采样,由于频谱是均匀泄露的,而不是整体延拓的,因此可以通过特别的追踪方法将原信号恢复。


二、压缩感知的前提条件

接下来我们总结一下,能实现压缩感知的关键在于什么,即需要哪些前提条件。



9. 在刚才的讲述中大家可以感受到,这个例子之所以能够实现最终信号的恢复,是因为它满足了两个前提条件:

1. 这个信号在频域只有3个非零值,所以可以较轻松地恢复出它们。

2. 采用了随机亚采样机制,因而使频率泄露均匀地分布在整个频域。

这两点对应了CS的两个前提条件——稀疏性(sparsity)、不相关性(incoherence)
---------------------------------------



10. 关于稀疏性可以这样简单直观地理解:若信号在某个域中只有少量非零值,那么它在该域稀疏,该域也被称为信号的稀疏域。

因此,第一个前提条件要求信号必须在某一个变换域具有稀疏性。比如例子中,信号在频域是稀疏的,因而可以通过所述的重建方法轻松地在稀疏域(频域)复原出原信号。

---------------------------------------



然而通常信号在变换域中不会呈现完全的稀疏性。其实只要它近似满足稀疏性,即大部分值趋于零,只有少量大的非零值,就可以认为它是可压缩信号,可以对它进行CS亚采样。

对于之前讲的例子,如果它在频域中不稀疏,我们可以做DWT、DCT等,找到它的稀疏变换。

---------------------------------------



11. 这里针对信号的稀疏性和信号压缩额外补充一下:其实,信号的稀疏性已经在图像压缩领域有了很广泛的应用。利用信号的稀疏性,可以对信号进行压缩。如图像压缩领域的JPEG格式,就是将图像变换到离散余弦域,得到近似稀疏矩阵,只保留较大的值,从而实现压缩。

---------------------------------------



12. 比如这个例子中,仅用原图像6.9%的点就复原了和原图像基本相同的图像。我们还可以采用小波变换,即为JPEG-2000,压缩效果更好。

---------------------------------------



13. 这里需要指出,图像压缩和压缩感知这两个概念很容易弄混,大家一定要分清。

它们其实有着本质上的区别。图像压缩是先进行了全采样,然后再变换域丢弃小系数,完成压缩;

而压缩感知不同,它的思想其实从图像压缩中借鉴了很多:既然全采样了还要再丢弃,我们为什么不能直接少采样一些点?因此,压缩感知直接进行了亚采样,然后再用算法消除亚采样导致的伪影。可以说,压缩感知直接在采样时就完成了压缩。

---------------------------------------



14. 接下来,在将第二个前提条件之前,还是需要引入必要的数学表达的。上图是一个大家在压缩感知相关的书籍文献中会经常看到的一张示意图。很多文章试图用这张图给大家讲清楚什么是压缩感知,结果导致大家看得一头雾水,混淆在各种“矩阵”当中。。不过相信有了我之前的讲解,现在这张图会好理解很多。这张图也就是把亚采样的过程用矩阵的方式表达出来而已:

如图,x是为长度N的一维信号,也就是原信号,稀疏度为k。此刻它是未知的。

Φ为观测矩阵,对应着亚采样这一过程。它将高维信号x投影到低维空间,是已知的。

y=Φx为长度M的一维测量值,也就是亚采样后的结果。显然它也是已知的。

因此,压缩感知问题就是在已知测量值y和测量矩阵Φ的基础上,求解欠定方程组y=Φx得到原信号x。

然而,一般的自然信号x本身并不是稀疏的,需要在某种稀疏基上进行稀疏表示。令x=Ψs,Ψ为稀疏基矩阵,s为稀疏系数。

于是最终方程就变成了:y=ΦΨs。已知y、Φ、Ψ,求解s。

---------------------------------------



15. 对应一开始的例子大家就能明白:x就是三个正弦信号叠加在一起的原信号;稀疏矩阵Ψ就是傅里叶变换,将信号变换到频域S;而观测矩阵Φ就对应了我们采用的随机亚采样方式;y就是最终的采样结果。

---------------------------------------



16. y=ΦΨs有点长,我们把ΦΨ合并成一个矩阵,称之为传感矩阵。即令Θ=ΦΨ
,则y=ΘS。

问题即为,已知y和Θ,求解S。

求解出S后,由x=Ψs即可得到恢复出的原信号x。

然而在正常情况下,方程的个数远小于未知数的个数,方程是没有确定解的,无法重构信号。但是,由于信号是K稀疏,如果上式中的Φ满足有限等距性质(RIP),则K个系数就能够从M个测量值准确重构(得到一个最优解)。

---------------------------------------


25.jpg



17.接下来的数学内容可以简短略过:陶大神和Candès大神证明了RIP才是观测矩阵要满足的准确要求。但是,要确认一个矩阵是否满足RIP非常复杂。于是Baraniuk证明:RIP的等价条件是观测矩阵和稀疏表示基不相关(incoherent)。

这就是压缩感知的第二个前提条件。

---------------------------------------



18. 那怎样找到不相关的观测矩阵呢?陶哲轩和Candès又证明: 独立同分布的高斯随机测量矩阵可以成为普适的压缩感知测量矩阵。

于是满足高斯分布的随机测量矩阵就成了CS最常用的观测矩阵。

对于二维信号,往往就采用如右上图所示的采样矩阵对图像进行亚采样。

对于一维信号,采用前文提到的随机不等间距的亚采样即可。

------------------------------------------------------------------------------

到这里,我们可以这样用一句话概括地描述什么是压缩感知:

如果一个信号在某个变换域是稀疏的,那么就可以用一个与变换基不相关的观测矩阵将变换所得高维信号投影到一个低维空间上,然后通过求解一个优化问题就可以从这些少量的投影中以高概率重构出原信号。

以上可以算作是压缩感知的定义吧。但是如果要再简洁一点呢?

在我看来,压缩感知可以用这样一句话来表述:

直接采集出一个JPEG

——之前图像压缩的方法是全采样之后再压缩,抛弃稀疏变换域中的一些小系数;而CS直接减少了采样点,采集完后、经过重建的图像,就是一副在某变换域稀疏的压缩图像,比如JPEG。


那这么做有什么优势呢?

对于很多情形,比如照相机拍摄照片,这样减少采样点并没有优势。因为所有像素的采集在一瞬间就都完成了。

但是对于一些采集比较慢的情形,比如核磁共振成像,CS就可以发挥巨大优势。原本一副MRI图像常常需要几十秒,速度慢也是MRI的一大缺陷。而应用CS技术后,只需要采集全采样几分之一的数据,就可以重建出原图。这样就可以把成像速度提高好几倍,同时对图像质量影响不大。

另一个应用是Rice大学开发的单像素相机,也就是说这种相机只需要一个像素,非常有趣。感兴趣的朋友可以自己去调查。

三、压缩感知的重建方法

如前文所述,CS的重建也就是求解欠定方程组y=ΘS的方法。这是一个零范数(l0)最小化问题,是一个NP完全问题(没有快速解法的问题),因此往往转换成一范数(l1)最小化的求解,或者用一些近似估计的算法。这部分的具体内容在这里就不再详述了。

------------------------------------------------------------------------------

以上就是压缩感知的简单讲述。各方面都只是浅尝辄止,更多内容需还要大家自己研究。

其实写这篇文章之前我已经做好了受冷落的准备,毕竟不像小波变换,压缩感知的受众面比较小,理解难度又比较大,大家阅读时还请耐心一点。如果看后能对压缩感知的主要思想有了一定的认识,也就不枉我费劲力气画了这么多图、码了这么多字。

*******************************************


把AFE集成到MCU,很难做到低offset,低温漂吧?


这款在前级差分输入的仪放(IA)后级跟上了取样保持放大(SHA)与Delta-sigma ADC构成的 IA+CS的AFE block


这是个很好的工程师常常提到的通用问题 MCU内部是digital noisy 电源脏地环境,AFE是对noise敏度的. AFE内部的high gain PGA对Vos是敏感的


因此,AFE+MCU采用合封的方式是目前比较简单粗暴的方式,但可能并不是die size最小成本甚至是最优的。single die工艺就得找tri-well的 DNW隔离MCU ground 的noise进analog部分了.




是的,NTN或DeepNwell都可以isolation。而我们常用的去除offset的方式便无可厚非地转至chopper way.


关于Tri-well三阱,延伸拓展:

The twin well process is the process that contain 2 wells N and P. The tripple well process that contain another well implemented in the wells. like u have N well , implement a P well in it . It is usually used for RF circuits to achieve good isolation. For the tripple well process, Deep N-well was the third, usually. It can isolate p-well from P-substrate, so the p-well would not be tied to ground, it can be any potential. this is very useful for some circuits. For example, in the flash circuit, the tripple well process is must, because some circuits operate in the negative potential.

***** ********* ************** *****


In general MOS devices have 4 terminals D G S B.

B terminal [Bulk/Substrate] has an important role in MOS functionality. Fromthe back-side of a MOS the substrate potential can affect the channelcharacteristics - it resembles very similar functionality of a Gate terminal ofa FET [not a MOSFET but, a Field Effect Transistor], it is called back-gate.You want finer control of the back-gate - go get a triple-well MOS.

We call them isolated-MOS too - the reason being - electrically isolating thebulk node from global substrates.

Although it is not mandatory to keep Source & Substrate connection of a MOSbe shorted together, there are design requirements, where the S,B needs to belocally shorted - please note, I did not mention yet - S,B shorted to VDD or GND.Keep it at whatever different potential from global VDD/VSS you need atriple-well process.

Triple well further reduces signal and noise coupling to and from substrate[OK, same as noise isolation].

Triple well might help addressing different potential requirements at IO ESDregions.

Well, somewhere I might have read something about virtual power switching[power-gating] using back-gate [not sure].

All such things are possible by using triple well structures. 
-http://www.edaboard.com/thread137886.html


*********************************


我们再聊聊Low Power LP低功耗设计


Deepnwell相当于组成两个背靠背的二极管,所以可以隔离p衬底耦合过来的噪声, 更加强的噪声隔离工艺是SOI绝缘体上硅工艺


RF应用上的ground noise isolation也常用到DNW


降噪/低功耗设计是fabless design的根基


我这里借用了业内知名的LP MCU 供应商ambiq micro公司 2017年release的datasheet.


核心词便是亚阀值:工作在subthreshold region


另一个核心词便是低功耗带隙基准 Bandgap Voltage Reference(BGR)


重新回到正题:



我们在讨论,工作在subthreshold region BGR是否可以量产?原因是由于这种BGR的功耗可以做的非常低,MCU在deepsleep mode下通常需要低功耗的BGR.


普遍的一个观点是可以量产,但一致性比较差. 除非采用chopper否则offset会比较大甚至离谱到失控. 接下来我们可能会面临着chopper与LPF设计时的size及trade off.


这里的chopper仅仅是消除offset,不针对相对敏度的高斯 1/f噪声,所以可以直接用MCU中的IWDG noisy的时钟(我们的工程师太可爱了),几乎不用功耗;LPF的面积的确需要考虑



如上上图IEEE Member提示的低功耗要到100nW,需要做Start-Up calibration,看起来具有挑战. 比如前些年Richtek被MTK并购整合forground calibration在PMIC里面, 每开机或ULP进Normal mode前要校正(俗称K)一次


ULP进normal mode意思就是做两套LDO, 因为要K过。ULP--> Normal 一次   Normal==> ULP 一次


在deepsleep模式下有BG+LDO+Clock在工作,关于Start-Up calibration, calibrate 产生VPTAT的单元, 通过调节电流和MOSs的宽长比?其实用准的去K会变的, 做FSM用SAR ADC去做quantize量化, 然后feedback反馈调校正的code。


********************************

最后还剩点篇幅聊聊MCU的内部Vref

在使用MCU开发过程中,有人问如果电源电压是变动的,询问有无办法用比较简洁的办法对电源电压进行监测,或者说电源电压波动情况下能否检测出其它待测的AD输入电压。

  这里跟大家分享交流一个方法。就是在没有其它外来参考电压,用芯片电源电压VDD作为ADC的参考电压,同时该电源电压又在一定范围内变动的情况下【这个范围就是在保证芯片正常工作的范围】,利用MCU芯片内部自带基准电压对电源电压进行监测。

     
在我印象中几乎每颗MCU芯片内部都有个相对稳定且不受电源电压一定范围内波动影响的基准电压。这里以普通8BIT MCU芯片为例来介绍。

 51系列芯片内部有个参考输出电压,技术手册里命名为VREFINT。





健天电子GVM08X002 8位MCU内置2.5V基准, 1.5V可调基准输出,输出负载能力为2uA




这里提前厘清下:该内部参考电压VREFINT并非ADC的参考电压,ADC的参考电压依然是VDD。即使VDD有所波动,这个VREFINT电压恒定不变,对于ADC电路而言,它只是个测试点。这里经常有人犯迷糊,把VREFINT内部基准参考电压跟ADC模块的参考电压混为一谈。

 

在某一固定的ADC参考电压情况下,所有被测电压点的AD转换值与该点电压值保持同一比例关系,换句话说,对于ADC参考电压固定情况下,各点的电压与ADC值与成线性关系。


 下面图形是8位MCU芯片分别在3个不同参考电压下的AD转换曲线示意图,这里参考电压接不同的VDD。下面三根斜线分别是VDD为2.8V、3.2V、3.6V时的AD转换曲线示意图。那根黄色垂直虚线是表示内部VREFINT电压(1.22V)所在的位置。



不难理解,对于不同的参考电压,同一待测电压【VREFINT】1.22V所测得的AD转换值是不一样的,从上面图也可以直观的看出。这里AD的参考电压就是VDD,显然VDD越大,1.22V  VREFINT电压对应的AD转换值越小。

 

对于某一个参考电压来说,如果能测得1.22V所对应的AD转换值,假设记为Val_AD1.2 那参考电压VDD对应的AD转换值自然是此时该AD的满量程值,记为 Val_Full,【如果精度是10位,就是1024,如果是12位,那就是4096】。

不管VDD怎么变动,某时刻的VDD对应的满量程值Val_Full跟内部基准电压【VREFINT】1.22V的AD转换值Val_AD1.2 的线性比例关系总是存在的。即有:

 

    VDD:Val_Full = 1.22 : Val_AD1.2      【Val_AD1.2 为实时测得值】

   

       那么VDD = (1.22 / Val_AD1.2) * Val_Full 

 

这样你就可以达到监测芯片供电VDD的电压之目的了。当然你也可以利用上述原理和类似条件做别的应用,比如说电源电压一定范围内波动情况下还是可以检测出其它待测点的电压。

 

MCU内部基准可以用来做比较用,因为ADC/DAC里面都会有比较器,用来比较输入电压和基准电压,得出比较结果,再转化成相应的数值. 有些应用场合MCU内部的ADC资源不够用时,也可以通过Vref配合DAC内带比较对外部输入电压进行监测。