模拟集成电路设计系列博客——8.4.2 时间-数字转换器

news/2024/7/6 7:43:06/文章来源:https://www.cnblogs.com/sasasatori/p/18282567

8.4.2 时间-数字转换器

在上一节我们介绍了TDC的一种典型实现,即单延时链TDC,通过\(2^N\)的延迟单元和D触发器可以实现N bit的时间数字转换功能,但这种结构的分辨率受到延迟单元的最小延迟时间限制,即:

\[LSB=\tau_{delay}=\frac{T}{2^N} \tag{8.4.10} \]

其中\(T\)为TDC的最大量程,\(\tau_{delay}\)为延时单元的时间常数。由于延时单元所能够实现的最小时间常数是有限的,因此这会使得这种最基础架构的TDC的分辨率受到限制。

游标型TDC在上述架构的基础上做出了改进以解决分辨率问题。具体来说,通过在参考信号\(ref(t)\)上也引入延时链,此时TDC的分辨率变为:

\[LSB=\tau_{delay1}-\tau_{delay2}=\frac{T}{2^N} \tag{8.4.11} \]

其中\(\tau_{delay1}\)\(div(t)\)信号延时链的延时单元的时间常数,\(\tau_{delay2}\)\(ref(t)\)信号延时链的延时单元的时间常数。通过调控上下两个延时链的延时单元的时间常数之差,可以在更大的范围内调控TDC的分辨率。这种方式类似于游标卡尺原理中通过更小的分度来实现高精度的测量,因此称为游标型TDC。如下图所示:

image

但相比单延时链的TDC架构,游标型TDC受到器件失配的影响会更大,且需要很大的面积来实现大的测量范围。

两步型TDC吸收了ADC设计中两步型ADC的设计思想,对于粗粒度的分辨率通过单延迟链TDC实现,而细粒度的分辨率通过游标型TDC来实现。如下图所示:

image

这样的架构降低了大测量范围时游标型TDC的面积消耗,通过更少的器件总数即可实现同等测量范围下与游标型TDC架构相同的分辨率。但需要对单延时链做出一定的改动,引入控制逻辑与多路选择器Mux来选择将哪一段信号送入游标型TDC中进行分辨。

另一种方式是全部使用单延时链TDC,为了进一步提升分辨率,可以在两步型TDC中引入时间放大器,从而放大Mux输出的时间信号的范围。当两步型TDC的粗粒度和细粒度部分都只处理\(N/2\)bit时,总的延时单元数量被降低至\(2\times2^{N/2}\)

image

时间放大器的功能主要是放大Mux输出信号与\(ref(t)\)边沿的时间差,可以通过一个简单的锁存器结构来实现,如下图所示[Abas, et al., Electronic Letters, Nov 2002]:

image

但上述结构对时间放大器的线性度提出了挑战,如果锁存器的建立时间与输入信号的时间差之间不满足线性关系,则会影响TDC整体的线性度。

插值型TDC也是一种可以减少延时单元数量的同时提升分辨率的架构,类似于ADC中的插值型ADC架构,通过电阻/晶体管/二极管对延时单元进行二次插值。具体来说,如下图所示,在两个延时单元之间通过匹配的两个电阻,可以实现对基础分辨率的二插值,从而将分辨率提升一倍。寄存器对延时信号的边沿以及插值信号进行捕捉,从而实现时间数字转换功能。通过引入周期技术,这个架构可以实现更大的测量范围。

image

基于振荡器的TDC架构可以在紧凑的面积下实现非常大的测量范围。具体来说,环形振荡器为计数器提供周期信号,振荡器的周期决定了TDC的分辨率。在工作时,\(div(t)\)\(ref(t)\)输入控制逻辑,\(div(t)\)的上升沿作为计数器的启动,\(ref(t)\)的上升沿控制计数器的复位。在此期间计数器根据振荡器的输入的周期信号进行计数,以计数结果作为信号相位差的数字表示。如下图所示:

image

由于这个结构不依赖延时链,仅仅需要一个环形振荡器和计数器就可以实现延时链的功能,因此在测量范围大,分辨率要求时可以大大减小面积需求。

另外,值得一提的是,尽管之前我们介绍的PLL结构都是整数分频的结构(即所谓的整数N PLL,Integer-N PLL),但在现代电路需求中,有时需要更细粒度的倍频倍数,即所谓的小数倍频,此时可以使用\(\Delta \Sigma\)分数N PLL架构,其具体对整数N PLL的架构上主要的变动是通过在分频器处引入\(\Sigma \Delta\)调制器以实现更细粒度的分频功能,如下图所示。

image

参考资料:

"All-Digital Frequency Synthesizer In Deep-Submicron CMOS", Staszewski et. al.

12. 时间数字转换器_哔哩哔哩_bilibili

Tutorial on Digital Phase-Locked Loops (cppsim.com)

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

聊一聊领域驱动与贫血模型

写在前面 前段时间跟领导讨论技术债概念时不可避免地提到了代码的质量,而影响代码质量的因素向来都不是单一的,诸如项目因素、管理因素、技术选型、人员素质等等,因为是技术债务,自然就从技术角度来分析,单纯从技术角度来看代码质量,其实又细分很多原因,如代码设计、代码…

《智能计算系统》第五章 编程框架原理(上)课程笔记

《智能计算系统》第五章 编程框架原理(上)课程视频链接:https://www.bilibili.com/video/BV1Ei421i7Rg 本文源自于B站国科大计算所 智能计算系统课程官方账号 所公开上传的视频,在原有视频之上,提取了关键帧、将音频转成了文字并进行了校正,以便学习使用。在此,也感谢国…

点云分割网络---Point Transformer V2

PDF: 《Point Transformer V2: Grouped Vector Attention and Partition-based Pooling》 CODE: https://github.com/Gofinge/PointTransformerV2 一、大体内容 前面一篇文章介绍了Point Transformer,这一篇在其基础上进行改进,提出了强大且高效的Point Transformer V2模型,…

【坚果识别】果实识别+图像识别系统+Python+计算机课设+人工智能课设+卷积算法

一、介绍 坚果识别系统,使用Python语言进行开发,通过TensorFlow搭建卷积神经网络算法模型,对10种坚果果实(杏仁, 巴西坚果, 腰果, 椰子, 榛子, 夏威夷果, 山核桃, 松子, 开心果, 核桃)等图片数据集进行训练,得到一个识别精度较高的模型文件,让后使用Django搭建Web网页端…

MRCTF 2022 EzJava

MRCTF 2022 EzJava 题目分析 下载附件得到一个 jar 包和一个 waf 配置文件。如果只是为了本地搭建环境,直接启动 jar 包就行了,但是如果需要进行远程调试就需要进行一些配置(这个网上教程很多),这个调试也要看具体需求,能直接打通的话就不需要调试。 但是不管怎么说,第一…

逻辑回归求解二分类问题以及SPSS的实现

分类问题就是给出物质的属性,判断其属于什么成分,本文将讲述逻辑回归求解二分类问题 本文着重于模型的实现,对于推导只是概括性的叙述 目录一、问题提出二、逻辑回归函数logistic1.线性线性概率模型2.sigmod函数3.求解方法————极大似然估计4.分类原则三、SPSS实现———…

线上的一次fullgc排查过程

线上服务的GC问题,是Java程序非常典型的一类问题,非常考验工程师排查问题的能力。同时,几乎是面试必考题,但是能真正答好此题的人并不多,要么原理没吃透,要么缺乏实战经验。过去半年时间里,我们的广告系统出现了多次和GC相关的线上问题,有Full GC过于频繁的,有Young G…

基于GWO灰狼优化的LDPC码NMS译码算法最优归一化参数计算和误码率matlab仿真

1.算法仿真效果 matlab2022a仿真结果如下(完整代码运行后无水印):2.算法涉及理论知识概要LDPC码是一种线性错误修正码,以其接近香农极限的优良性能而被广泛应用于现代通信系统中。NMS译码是一种基于最小平方误差准则的软判决译码方法,其目标是找到一个最可能的码字,使得接…

k8s-核心组件

核心组件组成 Kubernetes 主要由以下几个核心组件组成: - etcd :保存整个集群的状态 - API Server:提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制 - Controller Manager:负责维护集群的状态,如故障检测、自动扩展、滚动更新等 - Scheduler:…

学习笔记485—Excel技巧:一键将文本数字转换为数值

Excel技巧:一键将文本数字转换为数值在使用Excel进行数据处理时,经常会遇到数据格式不匹配的问题。特别是当从外部导入数据或手动输入数据时,数字可能会被误识别为文本格式,这在进行数据计算和分析时会带来诸多不便。幸运的是,Excel提供了一些便捷的方法,可以帮助我们一键…

使用IDEA给项目打jar包

使用IDEA给项目打jar包参考地址:https://www.cnblogs.com/blog5277/p/5920560.html 感谢作者一、准备一个Java项目并先看看效果 ​ 只想打包,就跳过这一步: 一、准备一个Java项目并先看看效果。 ​ 如果启动jar包遇到报错:无法找到/加载主类就去看看第二步开头。 1、找一…

MCU点灯

MCU点灯 芯片型号:STM32F407ZET6 4个LED灯,网络标号分别为LED0 ,LED1,FSMC D10,FSMC D11。对应的引脚号分别为PF9,PF10,PE12,PE13。原理图//1.定义变量 GPIO_InitTypeDef GPIO_InitStructureF;//F端口 GPIO_InitTypeDef GPIO_InitStructureE;//E端口 int main()//中文注释 …

电子计算机类比赛的“武林秘籍”-电赛光电设计大赛计算机设计大赛嵌入式芯片与系统设计竞赛,你要的都在这里!

本文主要介绍了工科类学生参加比赛的必要性和益处、电子计算机类比赛的基本思路等内容电子计算机类比赛的“武林秘籍”-电赛光电设计大赛计算机设计大赛嵌入式芯片与系统设计竞赛,你要的都在这里! 为什么需要参加电子计算机类比赛 对于实现短期目标而言: 电子计算机类学科竞…

VMware安装CentOS7环境

准备 CentOS7的iso镜像 下载链接:https://mirrors.aliyun.com/centos/7/isos/x86_64/配置步骤 步骤一——创建虚拟机 1、点击创建新的虚拟机2、选择典型3、选择镜像文件4、填写对应信息5、选择虚拟机存储的位置6、存储为单个文件7、创建步骤二——配置centos7 1、打开虚拟机后…

Mybatis执行器

mybatis执行sql语句的操作是由执行器(Executor)完成的,mybatis中一共提供了3种Executor:类型 名称 功能REUSE 重用执行器 缓存PreparedStatement,下一次执行相同的sql可重用BATCH 批量执行器 将修改操作记录在本地,等待程序触发或有下一次查询时才批量执行修改操作SIMPLE…

本地安装seata

1. 下载,解压steata安装包 2. 修改配置里面的端口号 只要是localhost或者不是自己的端口号都更改成自己的端口号3. 修改配置nacos的文件执行 4、数据库中添加对应的表 数据库中的表名称尽量位seata_server,避免后面去修改 5、线上nacos配置 在public 下面进行配置,修改自己对…

关于自定义unordered_set\unordered_map中Hash和KeyEqual:函数对象和lambda表达式简单应用

以unordered_set为例,首先在cppreference中查看其模板定义:可以看到Hash类默认是std::hash<Key,KeyEqual类似,本文将Hash以函数对象写出,将KeyEqual以lambda写出。 class hashvec{public:size_t operator()(const vector<int> & vec) const {return hash<…

Python预测体重变化:决策树、tf神经网络、随机森林、梯度提升树、线性回归可视化分析吸烟与健康调查数据

全文链接:https://tecdat.cn/?p=36648 原文出处:拓端数据部落公众号 在当今的数据驱动时代,机器学习算法已成为解析复杂数据集、揭示隐藏模式及预测未来趋势的重要工具。特别是在医疗健康领域,这些算法的应用极大地提升了我们对疾病预防、诊断及治疗方案的理解与制定能力。…

Nuxt3 的生命周期和钩子函数(九)

摘要:本文介绍了Nuxt3中与Vite相关的五个生命周期钩子,包括vite:extend、vite:extendConfig、vite:configResolved、vite:serverCreated和vite:compiled,展示了如何在每个钩子中扩展Vite配置、读取配置、添加中间件和处理编译事件。每个钩子都有详细的描述和示例代码,帮助开…

地理信息科学:生态保护的智慧经纬

在地球这颗蓝色星球上,每一片森林的呼吸、每一条河流的流淌,都是生命交响曲中不可或缺的音符。而地理信息科学(GIS),正是我们手中解读自然密码、护航生态平衡的精密仪器。今天,让我们深入探讨GIS如何在生物多样性保护和生态系统管理中发挥其不可替代的作用。 🌱 GIS——…