SAR ADC系列26:系统设计

news2024/10/2 6:39:14

目录

串一下知识点:

设计一个高速异步SAR ADC

设计目标:

电路架构:(具体电路看前文)

采样网络: 

采样电容:

CDAC开关切换策略:

CDAC阵列冗余设计:

SAR 逻辑

比较器方案:



串一下知识点:

第一章:DFT。每一个做信号链的都应该会懂DFT,怎么仿真,怎么分析,每一根谱线的物理含义这些,每一根谱线都是有来头的,怎么计算得到的。后面引入的相干采样的概念。

第二章:采样网络上级板采样和下级板采样的优缺点。上级板:简单,和CDAC配合好;但是精度不高,主要体现在沟道电荷和时钟馈通,虽然全差分可以消掉一写,但是消不完全。下级板采样精度高,像开关电容,pipeline ADC很多都采用下级板采样的,有源S/H。然后介绍的一个相当重要的知识点:电荷守恒。见到开关电容就找电荷守恒,找初态终态,这样就不会晕,因为有时中间挺麻烦的。

第三章:CDAC网络。电容的随机失配,可以扩展到电阻、MOS管等所有遵循随机失配高斯分布的器件。数据统计的方法,1sigma什么意义。CDAC开关切换策略,和采样网络的搭配。

第四章:比较器。低速sar ADC的静态Pre-AMP+Latch,失调消除方法OOS、IOS。高速sarADC的Latch比较器。分析方法:将latch拆成好几个等效的放大器,逐个分析每个管子的等效输入offset。可以类推noise的分析。

第五章:sar逻辑高速异步sar逻辑,和冗余。高速sar逻辑不要被唬住,没什么。主要是冗余,冗余的思想很重要,不光在异步sarADC中。同步sar,pipeline都有。


设计一个高速异步SAR ADC

设计目标:

位数:10bit,采样速率:50MSPS,工艺:SMIC40LL(Low Leakage),电压:1.1V,Vref:电源/地

电路架构:(具体电路看前文)

采样网络: 

● 上极板采样:
        ■ 优点:结构简单
        ■ 缺点:会引入与信号相关的失真,采样精度有限,一般不超过10Bt精度

●下极板采样:
        ■ 优点:线性度高,采样精度可以很高
        ■ 缺点:结构复杂,采样之后的复位动作消耗较大能耗

● 最终方案:上极板采样

采样电容:

● 噪声约束电容:
        ■ 单端采样网络的噪声:KT/C(是电阻的噪声,只是噪声能用电容表示,数值和电阻无关)
        ■ 全差分采样网络的噪声:2*KT/C
        ■ 1pF电容对应的 KT/C 为 ~64uV (典型值可以记下来)

● 匹配约束电容:
        ■ MSB (~采样电容的一半) 为CDAC线性度的瓶颈
        ■ 电容越大,匹配越好;电容X4,匹配提升1倍

● 最终方案:自定义mom电容,采样电容(~1pF)

pdk电容单位电容太大,mismatch不可控。定制电容,单位电容可以做的很小,可以区分上下级板,保护好上级板。实际上,我们不是怕寄生,而是怕不知道寄生到哪里去了,用金属包起来,寄生可控,我知道寄生在哪,是什么样的,在设计的时候就能考虑进去。

CDAC开关切换策略:

● 单调开关切换策略:
        ■ 开始转换时比较器输入共模=AVDD/2,转换过程中比较器输入共模不断降低(或者升高)
        ■ 比较器输入共模过低会影响Latch比较器的速度、甚至功能。(latch对小信号放大能力较弱,甚至会出现亚稳态,比较时间过长影响到后面的功能,也可能Vcm过低使得比较器不工作了)(看前文latch分析)

● 基于Vcm的开关切换策略:
        ■ 需要引入一个中间电平VCM=AVDD/2
        ■ 在先进工艺下,AVDD/2附近的开关不容易实现

● 最终开关切换方案:
        ■ 采用基于VCM的开关切换策略
        ■ 采用“电容分裂”技术将一个下极板接到VCM的电容拆分成2个电容
        ■ 2个分裂电容的下极板分别接到VREF和GND

注意:VDD和GND要加非常大的退耦电容。 

CDAC阵列冗余设计:

● 方案一:间隔插入Redundancy
        ■ 512/256/128/64/64/32/16/8/8/4/2/1
        ■ 通过观察可得前4次比较拥有相等的冗余量(容错量),为 72LSB;接下来3次比较冗余量为8LSB;最后4次比较不能错

● 方案二:Redundancy逐渐减小
        ■ 436/250/144/82/48/26/16/10/5/3/2/1
        ■ 通过观察可得冗余量逐渐减小,看起来分布更加合理

为什么MSB要冗余量留最大呢:因为,MSB电容最大,刚采样完成,Vref建立可能来不及,CDAC又是基于Vref建立的,而且CDAC建立也需要时间,因此会导致比较器判错。再加上Vref buffer上的噪声,比较器噪声等等。

SAR 逻辑

● 异步逻辑:
        ■ 避免外灌高速时钟:高速时钟工作频率接近GHz
        ■ 根据每一次比较所花费的时间自动划分比较周期,可以避免时间的浪费,提升转换速率

比较器方案:

● 传统的Pre-AMP+Latch方案:
        ■ 需要静态功耗,不利于低功耗设计
        ■ Pre-AMP的 “复位” 难度较大,影响比较器速度

● 动态Latch比较器方案
        ■ 0静态功耗
        ■ 可以考虑加入动态Pre-AMP以提升Latch性能

两级动态latch比较器

关键电路设计:

采样开关:

采样开关

● 需要注意的点:
        ■ 采样NMOS衬偏消除,以提高线性度
        ■ PMOS衬底的正确接法
        ■ PUMP电容的取值(相比寄生要足够大)
        ■ PUMP电容的上下极板的区分
        ■ PUMP电容可以用MOS电容实现

● 导通电阻的设计:
        ■ 采样时间:取50MHz的1/4,为5ns
        ■ 采样开关建立时间:>10*tao,tao<0.5ns
        ■ 采样电容:C=1pF
        ■ 采样电阻Ron=tao/C < 0.5ns/1pF = 500欧姆(所有corner)

CDAC网络:

CDAC网络

● 需要注意的点:
        ■ 不同权重的电容下极板的驱动能力的匹配。
        ■ 尽量标准化设计,“某个单元”的复制,“某个单元”不仅仅包括电容,也包括驱动电路。
        ■ 10位ADC,全差分需要9个电容,做两个冗余位,总共11个电容。

Latch比较器:

LATCH比较器

Latch = 0 ,比较器复位至0;Latch = 1 , 比较器开始比较 

异步sar逻辑:Valid产生

Valid信号

异步sar环路:环路启动和结束 

异步sar环路:电路实现 

异步sar逻辑:CK1~CK12的产生

电路仿真

异步逻辑的仿真

关注以下几个点:
        SOC对异步环路的控制
        CMPOK对异步环路的控制

功能性仿真:Ramp输入

性能仿真:sin输入 

性能仿真:CDAC建立情况 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/428637.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

谈谈内存模型happen-before讲的什么?

大家好我是易安&#xff01; 今天我要讲述的是Java内存模型中的happen-before。 Java语言在设计之初就引入了线程的概念&#xff0c;以充分利用现代处理器的计算能力。多线程机制既带来了强大、灵活的优势&#xff0c;也带来了线程安全等令人混淆的问题。在这种情况下&#xff…

二叉查找树

目录 一、二叉查找树概念 二、结点内部类代码实现&#xff1a; 三、二叉查找树的插入原理​编辑 四、遍历的方式&#xff08;中序遍历&#xff09;&#xff1a; 五、二叉查找树实现指定值删除对应的结点 六、main方法测试 一、二叉查找树概念 二、结点内部类代码实现&…

聚类问题的算法总结

目录 一、K-means算法 1、算法原理 2、如何确定K值 3、算法优缺点 二、DBScan聚类 1、算法原理 2、处理步骤 3、算法优缺点 聚类代码实现 聚类算法属于无监督学习&#xff0c;与分类算法这种有监督学习不同的是&#xff0c;聚类算法事先并不需要知道数据的类别标签&am…

高效释放数据价值,数智融合平台有门道

在数字经济时代&#xff0c;数据上升为新的关键生产要素&#xff0c;逐渐超越土地、资本等传统要素&#xff0c;成为社会经济发展和企业创新更加重要的驱动力。 但如何充分释放数据价值在当下依然是一个世界性难题。一方面&#xff0c;企业与组织逐渐拥有海量数据规模和丰富应…

基于CBC、ECB、CTR、OCF、CFB模式的AES加密算法

1、什么是AES加密算法 什么是加密算法&#xff1f;我在文章《从个人角度看什么是加密算法》中描述了我对加密算法的一些浅薄的理解。我不是信息安全领域的大神&#xff0c;只求有一个入门罢了&#xff01; 这篇文章是文章《从个人角度看什么是加密算法》的延伸&#xff0c;所…

【C++初阶】:缺省函数和函数重载

c入门一.缺省函数二.函数重载1.参数类型不同2.参数个数不同3.参数顺序不同一.缺省函数 缺省函数&#xff0c;顾名思义就是可以在传参时不传或者少传参数的函数。这里举个例子&#xff1a; 完全缺省 上面的就属于全缺省&#xff0c;可以不传任何参数&#xff0c;当然也可以传参…

Codeforces Round 862 (Div. 2) -- D. A Wide, Wide Graph(树的直径 贪心 简单的树形dp)

题目如下&#xff1a; 题意简说&#xff1a; 树上两点 u,vu, vu,v&#xff0c;如果 u,vu, vu,v 的距离大于等于 kkk 则在图 GkG_kGk​ 上 u,vu, vu,v 有一条无向边。 求当 kkk 等于 [1, n] 的时候&#xff0c;图 GkG_kGk​ 的连通块数量。 思路 or 题解&#xff1a; 我们可以…

【服务器】Dell PowerEdge R750 安装GPU

各种教程 官方教程 https://www.dell.com/support/manuals/zh-cn/poweredge-r750/per750_ism_pub/%E5%AE%89%E8%A3%85-gpu?guidguid-6bb1c301-7595-4c6d-b631-b6a5761c6052&langzh-cn 手册PDF版&#xff1a; https://dl.dell.com/content/manual16153190-dell-emc-powe…

OKR与敏捷开发的结合

当你想达成某件事情时&#xff0c;你在内心会有一个设想的期望结果。这是一个非常简单、基本的概念&#xff0c;并且是从很多人小时候就培养起来的。我们可以将这种现象总结一句话&#xff1a; 通过 ________ 来衡量__________ 。 这就是 John Doerr 在其著作《Measure what Ma…

JavaWeb开发 —— Maven

目录 一、概述 1. 介绍 2. 安装 二、maven-idea 集成 1. 配置及创建Maven项目 2. IDEA 创建Maven项目 3. IDEA导入 Maven 项目 三、依赖管理 1. 依赖配置 2. 依赖传递 3. 依赖范围 4. 生命周期 一、概述 1. 介绍 ① Apache Maven 是一个项目管理和构建工…

【UDP报文和TCP协议特性】

目录1.UDP报文1.1报文长度1.2校验和2.TCP协议特性2.1确认应答2.2超时重传2.3连接管理2.3.1三次握手2.3.2四次挥手2.4滑动窗口2.5流量控制2.6拥塞控制2.7延时应答2.8捎带应答2.9面向字节流2.10异常情况3.小结3.1tcp小结3.2tcp和UDp应用场景的差异4.寄语1.UDP报文 udp是传输层最…

【Android】之【内存管理】

一、Android内存运行是如何运行的&#xff1f; 物理内存即移动设备上的ram&#xff0c;当启动一个android程序时&#xff0c;会启动一个dalvik vm进程&#xff0c;系统会给它分配固定的内存空间【16m,32m,64m,不定&#xff0c;没有统一标准&#xff0c;每个虚拟机会有堆内存阈…

【Minecraft开服教程】使用 MCSM 面板一键搭建我的世界服务器,并内网穿透公网远程联机

文章目录前言1.Mcsmanager安装2.创建Minecraft服务器3.本地测试联机4. 内网穿透4.1 安装cpolar内网穿透4.2 创建隧道映射内网端口5.远程联机测试6. 配置固定远程联机端口地址6.1 保留一个固定TCP地址6.2 配置固定TCP地址7. 使用固定公网地址远程联机前言 MCSManager是一个开源…

C++ float 数据的保存格式

总体上&#xff0c;在计算机中&#xff0c; float 数据的的保存按照如下转换逻辑&#xff1a;10进制数 >二进制数>科学计数法二进制数>c 条件下下浮点数在内存中的保存格式&#xff08;这里面有个转换算法&#xff0c;需要理清楚&#xff09;。 下面举出一个案例&…

Python+selenium自动化测试实战项目(全面,完整,详细)

前言 之前的文章说过&#xff0c; 要写一篇自动化实战的文章&#xff0c; 这段时间比较忙再加回家过清明一直没有更新&#xff0c;今天整理一下实战项目的代码共大家学习。&#xff08;注:项目是针对我们公司内部系统的测试&#xff0c;只能内部网络访问&#xff0c;外部网络无…

使用fetch()异步请求API数据实现汇率转换器

任务8 https://segmentfault.com/a/1190000038998601 https://chinese.freecodecamp.org/news/how-to-master-async-await-with-this-real-world-example/ 跟随上面的指示&#xff0c;理解异步函数的编写&#xff0c;并且实现这个汇率转换器。 第一步&#xff1a;在工作区初始…

AI失业潮来袭,某些部门裁员过半

历史的车轮滚滚向前&#xff0c;每次生产力的大幅跃进&#xff0c;都会造成一批失业潮。想当年&#xff0c;纺纱机的出现让无数手工作坊的织布师傅失业。如今&#xff0c;在AI技术的催化下&#xff0c;同样的事正在互联网行业的各个领域重演。疯狂的裁员浪潮 “AI15秒做的&…

图神经网络汇总和总结

下面所有博客是个人对EEG脑电的探索&#xff0c;项目代码是早期版本不完整&#xff0c;需要完整项目代码和资料请私聊。 数据集 1、脑电项目探索和实现(EEG) (上)&#xff1a;研究数据集选取和介绍SEED 相关论文阅读分析&#xff1a; 1、EEG-SEED数据集作者的—基线论文阅读和…

LeetCode——二叉树的层序遍历

102. 二叉树的层序遍历 I 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[[3],[9,20],[15,7]]…

超级详解MySQL执行计划explain

1、什么是MySQL执行计划 要对执行计划有个比较好的理解&#xff0c;需要先对MySQL的基础结构及查询基本原理有简单的了解。 MySQL本身的功能架构分为三个部分&#xff0c;分别是 应用层、逻辑层、物理层&#xff0c;不只是MySQL &#xff0c;其他大多数数据库产品都是按这种架构…