ADC应用
数模转换(ADC)的应用笔记
智能时代,数字信号已体现在我们生活的方方面面,A/D,D/A是重要的基础。智能手机触摸信号需要转换为数字信号才能分辨触摸位置、数字去抖;打电话或者麦克风需要将模拟声信号转换为数字信号以便存储回放、语音识别;移动通信到4G时代,速率已经达到了300Mbps,手机和基站之间的通信是模拟电磁信号,同样需要高性能的ADC将其转化为数字信号,才能变成各位看到的电影、微博(当然没这么简单)。上述三个例子是典型的三种应用场景,对应ADC的不同指标。其中速度(采样率)和精度(bit位)是选取ADC的基础指标。各种监测可能需要实时性不高,能转换就行了;大部分医疗电子可能要求精度高,动态高,能分辨大信号下隐藏的小信号,同时速度较快;对于移动通信,您可能要求速度快,同时信号好,那对速度和精度就都有要求了,速度可能几百Msps,精度可能12、14位;更高大上的,针对卫星通讯、软件无线电(SDR),带宽可达数GHz,同时灵敏度要求更高,这种ADC就是核心科技了,只有为数不多的几家美国厂商掌握。
关键词:ADC SDR 抗混叠滤波器无线通讯 高精度采样
本文主要介绍ADC的模拟前端匹配技术,并分享笔者的几个设计作业,随着认识的不断深入,也会不断更新。关于ADC的互连、中频方案选择等在系列文档中细说。
ADC的前端匹配其实是抗混叠滤波器(anti-aliasing filter)的设计问题,为什么叫抗混叠滤波器,那得从ADC的采样原理说起。ADC的采样遵循Nyquist定理,假设被采样信号的最高频率为Fh,则要使在数字域能完全恢复该信号的最小采样频率为2*Fh;另外还有一个Nyquist带通采样原理,也称为欠采样。即对于带通信号而言,如TDD-LTE的2575MHz—2615MHz,通带50M,需要最小的采样频率为2*BW(50M) = 100Msps。
Fig 1 Nyquist采样混叠原理
在Fig1中,fa为被采样信号,I为其采样后的镜像,fs为采样频率。0.5fs为一个nyqusit区。Fig1中上图表示选择信号中频在1st Nyquist区,那么这个信号会在其他高阶Nyquist区有镜像信号;下图表示选择感兴趣的信号在2nd Nyquist区,采样后,会镜像到1st Nyquist区和其他高阶Nyquist区。同理,在ADC采样时,非感兴趣Nyquist区的噪声信号都会镜像到1st Nyquist区,而1st Nyquist区正式数字域中频处理需要信号。为了抑制噪声,需要在ADC前端加入低通(1st)或者带通(upper)滤波器,该滤波器也称为抗混叠滤波器。
ADC的硬件系统一般都是数模混合系统,板级噪声较复杂,采用差分模拟输入能有效提高共模噪声抑制比。对几十MHz以下的模拟信号一般是直接采样,如医疗中的超声、生物阻抗测量等。这种模拟信号需要将单端转为差分,采用运放可以方便的转换,同时保证ADC需要的偏置电压,如fig2。但要注意运放的直流匹配、共模偏置电压、压摆率、CMRR、频率等参数,这部分有专门的应用笔记可以参考。转为差分信号后,再设计需要的匹配滤波器,与ADC对接,下面会讲到。对于采用1st Nyquist Zone的使用场景,还可以用放大器本身来完成低通滤波。比较典型的有源滤波器是sallen-key结构。
Fig2利用运放实现单端转差分
无线通信的频率较高,经常使用变频器(解调器)+AGC+匹配滤波+ADC的架构。存在变频器,如果采用非零中频设计,必然在射频有镜频抑制要求。为了降低镜频抑制滤波器的设计难度,结合混频杂散分析,一般采用较高的中频,多在5fs/4或者更高。在这种场景下,匹配滤波器为带通滤波器,设计复杂度要高的多。下变频器直接为差分中频输出,ADC也是差分输入,滤波器需要考虑的是阻抗匹配。变频器如AD5801的输出阻抗为200ohm,如果采用4:1的transformer,输出阻抗为50ohm。当然也可以直接采用1:1的transformer,输出阻抗为200ohm。如果采用中频放大器,可根据放大器的直流负载特性,选择合适的负载阻抗,如fig3所示源阻抗为70ohm。ADC的输入阻抗一般较大,如AD9248的输入阻抗为7kohm,输入电容7pF;AD9230的输入阻抗4.3kohm,4pF。如此大的输入阻抗对滤波器来说是极难匹配的,一般在ADC的输入并联电阻到地,使得总输入电阻为几百ohm,作为匹配滤波器的负载电阻。
Fig3抗混叠滤波器阻抗匹配示意图
根据输入阻抗、负载阻抗、ADC的采样率、其他NyquistZone的抑制要求,即可确定滤波器的详细参数。本人习惯采用射频设计软件ADS来仿真滤波器,最好采用murata的电容模型,采用coilcraft的绕线电感模型。如果想一步仿真成功,上板免调试,将PCB布板模型等寄生参数带入ADS进行仿真,比较精确,但实现过程比较复杂。考虑到电容等器件的精度,电容值不能太小,电感值也不要太大。还有一个问题,设计滤波器的负载阻抗是采用纯电阻模型,没有考虑ADC的输入电容,可以将滤波器仿真出来的最后一个并联电容C1减去ADC的输入电容,作为最后的电容值。考虑到对共模干扰的抑制,可以将C1改为两个到地电容,其值为2(C1-Cadc)。
在ADC输入还需要考虑到模拟信号的共模电平Vcom,Vpp。为了达到ADC的最大SNR,输入信号尽量能达到满功率(高峰均比需要回退),有的ADC提供片内偏置,有的ADC需要外部偏置。Vpp影响ADC的动态范围,注意前端放大器的压摆率与Vpp匹配,并留一定余量。
参考资料Analog Devices application note cn-0238
ADC应用的更多相关文章
- STM32之DMA+ADC
借用小甲鱼的经典:各位互联网的广大网友们.大家早上中午晚上好..(打下小广告,因为小甲鱼的视频真的很不错).每次看小甲鱼的视频自学都是比较轻松愉快的..我在想,如果小甲鱼出STM32的视频,我会一集不 ...
- STM32之ADC+步骤小技巧(英文)
神通广大的各位互联网的网友们.大家早上中午晚上好好好.今早起来很准时的收到了两条10086的扣月租的信息.心痛不已.怀着这心情.又开始了STM32的研究.早上做了计算机控制的PID实验,又让我想起了飞 ...
- [nRF51822] 9、基础实验代码解析大全 · 实验12 - ADC
一.本实验ADC 配置 分辨率:10 位. 输入通道:5,即使用输入通道AIN5 检测电位器的电压. ADC 基准电压:1.2V. 二.NRF51822 ADC 管脚分布 NRF51822 的ADC ...
- 基于STM32Cube的ADC模数采样设计
1.背景 此实验建立在STM32F429核心板基础上,对于深刻了解STM32Cube使用具有深刻意义.利用DMA进行ADC采样,具有速度快,极大减少CPU消耗的优势,对于数据采集系统具 ...
- ADC
ADC转换分为两种通道组 1.规则通道组 2.注入通道组(可打断规则通道组) 工作模式 通道模式 转换模式 复位校准 AD校准
- 对ADC(DAC)的线性度(INL和DNL)的一点理解 [转]
大家在使用ADC的时候,往往最关注位数,而对ADC的线性度往往会忽略. 其实这个线性度也是ADC非常重要的指标,ADC(或DAC,其实ADC也是由DAC组成的)线性度指标有两个: INL:翻译过来叫“ ...
- HAL驱动库学习-ADC
如何使用ADC驱动库 1 实现如下两个函数 a: HAL_ADC_MspInit()使能ADC时钟,设置时钟源, 使能ADC Pin,设置为输入模式,可选 DMA,中断 b:HAL_ ...
- STM32 ADC 测电压
1. STM32F103 ADC 本例使用STM32F103芯片的PA1引脚测试模拟输入的电压值. 查看文档<STM32F103X.pdf>第31页,引脚定义图: 得知PA1使用ADC1的 ...
- ADC测试matlab代码
前面有做过ADC性能测试,测试方式是先使用ADC采集一个单频信号,然后利用matlab进行性能分析. 下面把matlab分析的代码记录下来: %The following program code p ...
- NRF51822之ADC(1)
在开始讲解的前,我们不生产水,我们只是大自然的搬运工.开始搬手册(nRF51 Series Reference Manual Version 3.0)上的资料
随机推荐
- 执行git add .命令时报warning: LF will be replaced by CRLF in yarn.lock.
解决办法是执行:git config --global core.autocrlf false 是符号 / 转义的问题
- 在Windows上搭建Git Server
Git在版本控制方面,相比与SVN有更多的灵活性,对于开源的项目,我们可以托管到Github上面,非常方便,但是闭源的项目就会收取昂贵的费用. 那么私有项目,如何用Git进行代码版本控制呢?我们可以自 ...
- java框架之Hibernate(2)-持久化类&主键生成策略&缓存&事务&查询
持久化类 概述 持久化:将内存中的对象持久化到数据库中的过程就是持久化.Hibernate 就是用来进行持久化的框架. 持久化类:一个 Java 对象与数据库的表建立了映射关系,那么这个类在 Hibe ...
- Spring Security 安全验证
摘自:https://www.cnblogs.com/shiyu404/p/6530894.html 这篇文章是对Spring Security的Authentication模块进行一个初步的概念了解 ...
- SparkML之推荐引擎(二)---推荐模型评估
本文内容和代码是接着上篇文章来写的,推荐先看一下哈~ 我们上一篇文章是写了电影推荐的实现,但是推荐内容是否合理呢,这就需要我们对模型进行评估 针对推荐模型,这里根据 均方差 和 K值平均准确率 来对模 ...
- mysql数据库字符集相关操作(修改表字段编码,使其支持emoji表情)
普通的UTF8编码是不支持emoji表情插入的,会报异常: Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x9 ...
- javascript callback
https://javascriptissexy.com/understand-javascript-callback-functions-and-use-them/ MDN web docs htt ...
- iOS UI基础-21 WKWebView
WKWebView,直接显示网页,需要引入第三方类:https://github.com/marcuswestin/WebViewJavascriptBridge 加上进度条代码,很完美使用 webV ...
- Java过关测验
库存物资管理系统一.背景资料:1.有一个存放商品的仓库,每天都有商品出库和入库.2.每种商品都有名称.生产厂家.型号.规格等.3.出入库时必须填写出入库单据,单据包括商品名称.生产厂家.型号.规格.数 ...
- Hibernate查询操作
操作前需要创建好Hibernate项目,创建项目,可参考:http://www.cnblogs.com/zhaojinyan/p/9336174.html 一下的例子是从其他贴子粘过来的(知识无国界! ...