如何选择模数转换器的输入采样点的选择原则结构

5718人阅读
嵌入式系统(60)
&&&&& 信号采集类的外设包括采集模拟信号的模/数转换器和提供数字信号输入、输出功能的通用输入/输出接口。模/数转换器为DSP提供了多通道模拟/数字转换能力,通用输入、输出接口可以完成数字信号的采集,当其被设置为输出模式时,可以通过这些接口对其他设备进行控制。
1 模数转换器(ADC)
TMS320C5509内部集成了一个10位的连续逼近式ADC.
1.1 模数转换器结构和时序
&&&&& 在数字信号处理器的具体应用中往往需要采集一些模拟信号量,如电池电压、面板旋钮输入值等,模数转换器就是用来将这些模拟量转化为数字量来供DSP使用。DSP所提供的模数转换器一次转换可以在四路输入中任选一路进行采样,采样结果为十位,最高采样速率为21.5kHz。
& &&&&& 模数转换器采用连续逼近式结构,在模数转换器内部用了三个可编程分频器来灵活地产生用户需要的采样率。
&&&&&&& 整个模数转换过程分为两个周期——采样/保持周期及转换周期,如下图所示。
采样/保持周期是采样/保持电路采集模拟信号的时间,这个周期大于或等于40μs;
转换周期是阻容比较网络在一次采样中完成逼近处理并输出A/D转换结果的时间,这需要13个转换时钟周期。内部转换时钟的最大频率为2MHz。
模数转换主时钟:
ADC Clock = (System Clock) / (SystemClkDiv
+ 1) ;
模数转换时钟:
ADC Conversion Clock =
&&&&& (ADC Clock) / (2× (ConvRateDiv + 1))
模数转换时钟必须等于或小于2 MHz;
&&&&&&&& 模数采样/保持周期:
ADC Sample and Hold Period =
(1 / (ADC Clock)) / (2×
(ConvRateDiv+ 1 +
SampTimeDiv))
模数采样/保持周期必须大于等于 40μs
&&&&&&& 整个转化周期:
ADC Total Conversion Time =
&&&&&& (ADC Sample and Hold Period) + (13×
(1 / (ADC Conversion&&&&&Clock)))
&&&&& 应当注意的是模数转换器不能工作于连续模式下,每次开始转换前,DSP必须将模数转换控制寄存器(ADCR)的ADCStart位置1,来命令模数转换器开始转换。当开始转换后,DSP必须通过查询模数转换数据寄存器(ADDR)的ADCBusy位来确定采样是否结束。当ADCBusy位从1变为0时标志转换完成,采样数据已经被存放在数模转换器的数据寄存器中。
1.2 模数转换器的寄存器
模数转换器的寄存器包括控制寄存器(ADCR)、数据寄存器(ADDR)、时钟分频寄存器(ADCDR)和时钟控制寄存器(ADCCR)
在模数转换开始之前需要对模数转换控制寄存器进行设置,选择所要采集的通道,并通过将ADCStart位设置为1命令转换开始。
接下来给出一个设置模数转换器的例子,在该例子中DSP系统主时钟为144MHz。
(1)首先对系统主时钟分频,产生模数转换器时钟,该时钟应尽量运行在较低频率下,以降低功率消耗,在本例中模数转换器时钟是通过对系统主时钟36分频产生的,则此时模数转换时钟=144MHz/36=4MHz,根据公式
&&&&&&&&&&& ADC Clock= (System Clock)
/ (SystemClkDiv+ 1)
&&&&&&&&&&&&& 得出SystemClkDiv=35;
(2)对模数转换器时钟分频产生模数转换时钟,该时钟最大值为2MHz,为了获得2MHz的模数转换时钟,则需要对模数转换器时钟2分频,由
&&&&&&&& ADC转换时钟= (ADC
Clock) / (2×(ConvRateDiv+
&&&&&&&&& 得出ConvRateDiv=0
&&&&&&&&& ADC
转换时间= 13 ×(1 /ADC Conversion Clock)
&&&&&&&&& ADC
转换时间 = 13 × (1 / (2 MHz)) = 6.5μs;
(3)对采样和保持时间进行设置,这个值必须大于40μs
&&&&&&&&&&&&&&&&&&&& ADC采样和保持时间=
&&&&&&&&&&&&&&&&&&&&&& (1 / (ADC Clock)) / (2×(ConvRateDiv + 1 + SampTimeDiv))
&&&&&&&&&&&&&&&&&&&& = (1 / (4 MHz)) / (2×(0 + 1 + SampTimeDiv))
&&&&&&&&&&&&&&&&&&&& = 250 ns× (2×(0
+ 1 + 79)) = 40μs
&&&&&&&&&&&&&&&&&&&& SampTimeDiv=79;
(4)整个转换时间为40μs的采样和保持时间加上6.5μs的转换时间等于46.5μs,采样率=1/46.5μs
=21.5 kHz。
1.3使用方法及实例
&&&&&&&&& C55x芯片支持库为模数转换器提供了相应的函数,应用这些函数可以对模数转换器进行配置、读取采样数据。使用片支持函数与直接用汇编语言对外设操作相比,片支持函数采用标准模式对外围设备进行编程,而汇编语言对外设操作没有统一的模式,需要对不同的外设采用不同的编程方式;片支持函数可以用open和close函数控制外设资源,这样对操作多通道外设更加有利;片支持函数采用完整的符号描述所有外设寄存器和寄存器字段,而不是只针对特定的器件,更加有利于硬件升级时代码的继承性。
&&&&&&&&使用模数转换器片支持库首先要在头文件中包含csl_adc.h文件,接下来就可以调用模数转换库函数了。
用片支持库配置模数转换器有两种方式——以寄存器为基础的配置和以参数为基础的配置方式,首先介绍以寄存器为基础的配置方式:
以寄存器为基础的配置方式首先要声明ADC配置结构,具体声明如下:
ADC_Config Config = {
0x0000, /* ADCR ,对0通道采样*/
0x0023, /* ADCCR ,SystemClkDiv=35 */
0x4F00& /* ADCDR
,SampTimeDiv=79,ConvRateDiv=0*/
接下来运行配置函数:
ADC_config(&Config);
以参数为基础的配置方式通过ADC_setFreq函数进行,该函数定义如下:
void ADC_setFreq(
int cpuclkdiv, //数值范围0-255
int convratediv, //数值范围0-16
int sampletimediv); //数值范围0-255
接着给出调用的例子:
int i=35,j=0,k=79;
ADC_setFreq(i,j,k);
配置好模数转换器后就可以用ADC_read函数完成采样过程,下面给出例子:
int channel=0,samplenumber=3;
Uint16 samplestorage[3]={0,0,0};
ADC_read(channel,samplestorage,samplenumber);
/* 对模拟输入0通道进行3次采样,
/* 采样的结果放在samplestorage数组中 */
2 通用输入/输出端口GPIO
& 1 GPIO口概述
&&&&&&& TMS320VC5510提供了8个专门的通用输入/输出引脚IO0~IO7,每个引脚的方向可以由I/O方向寄存器IODIR独立地配置,引脚上的输入/输出逻辑状态由I/O数据寄存器IODATA反映,见下表。
GPIO方向寄存器IODIR
IOx方向控制位
IOx配置为输入
IOx配置为输出
GPIO数据寄存器IODATA
IOx逻辑状态位
IOx引脚上的信号为低电平
IOx引脚上的信号为高电平
2 上电模式设定
C55x系列DSP通用输入/输出端口的另一个作用是在DSP上电时通过测试这些端口的高低电平来决定上电引导模式。
&&&&&&& 以TMS320VC5510为例,其IO1~IO3引脚的另一个功能是BOOTM0~BOOTM2,它们和BOOTM3引脚通过上下拉方式决定如何引导,接下来给出了C5510的引导方式。
C5510的引导方式
BOOTM[3:0]
从McBSP0口用24位地址采用SPI模式引导(串行EEROM)
0010~0111
从McBSP0口用16位地址采用SPI模式引导(串行EEROM)
通过并行EMIF接口从外部8比特异步存储器引导
通过并行EMIF接口从外部16比特异步存储器引导
通过并行EMIF接口从外部32比特异步存储器引导
EHPI口引导
从McBSP0口采用16比特标准串行模式引导
从McBSP0口采用8比特标准串行模式引导
下面给出了通过GPIO口设置上电方式的示意图。
3 驱动程序开发
应用通用输入/输出口(GPIO)芯片支持函数需要在头文件包含csl_gpio.h文件。
输入/输出口(GPIO)芯片支持函数包括读GPIO寄存器函数和写GPIO寄存器函数,首先介绍读GPIO寄存器函数GPIO_RGET()。该函数有一个输入参数,这个参数是IODIR时读取GPIO方向寄存器,参数为IODATA读取GPIO数据寄存器。下面给出读取GPIO数据寄存器的例子:
iodata = GPIO_RGET(IODATA);
GPIO_RSET()的功能是设置GPIO寄存器,该函数有两个参数,第一个参数决定设置的那个寄存器,第二个参数为寄存器值。举例如下:
GPIO_RSET(IODIR, iodata);
4& 通用输入/输出GPIO的测试
GPIO作为通用的输入/输出端口,其方向通过I/O方向寄存器IODIR可以设置,并且引脚上的电平通过I/O数据寄存器IODATA来反映,
CPU和DMA控制器可以在I/O空间访问这两个寄存器。
GPIO的测试分为输入口测试和输出口测试两种。
1.输入口测试
输入口测试步骤如下:
(1)通过I/O方向寄存器IODIR设置某一个引脚为输入方向;
(2)在已设置为输入方向的引脚上外加LVTTL信号;
(3)DSP访问I/O数据寄存器IODATA,查看引脚上的逻辑电平,与外加LVTTL电平进行比较,来检测输入口是否工作正常。
2.输出口测试
输出口测试步骤如下:
(1)通过I/O方向寄存器IODIR设置某一个引脚为输出方向;
(2)在I/O数据寄存器IODATA上设置这个引脚的逻辑电平;
(3)测量引脚的电平,与设置的逻辑电平相比较来检测输出口是否正常工作。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1134863次
积分:13242
积分:13242
排名:第986名
原创:218篇
转载:278篇
评论:121条
(2)(15)(9)(14)(15)(6)(3)(27)(26)(63)(23)(8)(1)(4)(4)(13)(15)(1)(1)(3)(1)(1)(8)(5)(1)(7)(5)(2)(1)(1)(4)(4)(1)(8)(3)(5)(6)(2)(2)(1)(8)(1)(1)(2)(21)(31)(10)(29)(21)(8)(42)(1)基于超级结技术的功率MOSFET已成为高压开关转换器领域的……
激光雷达,是利用激光、全球定位系统GPS和惯性测量装置(……
每年,在新款iPhone发布之前各种各样的消息以及渲染图都……
Type&C自问世以来,经历过了风口浪尖上的2015年,……
前段时间有调查显示,中国使用手机时长全球第二!但是,长……
演讲人:陈智鸿时间: 10:00:00
演讲人:梁国柱,徐玮时间: 10:00:00
演讲人:张清刚时间: 10:00:00
预算:小于¥10,000预算:小于¥10,000
如何选择模数转换器的输入采样结构?
[导读]今天的模拟系统设计工程师面临许多设计挑战,他们不仅需要选择正确的IC元件,还必须准确地预测这些元件在系统内的相互影响。从这点来看,模数转换器的设计是一个巨大挑战,因为它具有必须在系统级加以考虑的各种不同
今天的模拟系统设计工程师面临许多设计挑战,他们不仅需要选择正确的IC元件,还必须准确地预测这些元件在系统内的相互影响。从这点来看,模数转换器的设计是一个巨大挑战,因为它具有必须在系统级加以考虑的各种不同的输入采样结构。本文将探讨几种通用的输入采样结构,并讨论每种结构对系统其它部分的影响。
  在如今许多 CMOS模数转换器中,常用的解决方法是采用开关电容器结构实现输入采样。这种输入结构的最基本形式由相对较小的电容器和模拟开关组成,如图1所示。
  当开关设在位置1时,采样电容器被充电至采样节点的电压(在该例中为VS),然后开关切换至位置2,此时采样电容器上累积的电荷被转移至采样电路的其它部分。这一过程不断反复。
  上述不带缓冲器的开关电容器输入可引起严重的系统级问题。例如,将采样电容器充电到适当电压所需的电流必须由连接到模数转换器输入端的外部电路提供。当电容器切换到采样节点(图1中的开关位置1)时,对电容器进行充电需要大电流。这一瞬态电流的大小是采样电容器容值、电容开关频率和采样节点电压的函数。
  这个开关电流由下式表示:
  Iin=CVf
其中,C为采样电容器的电容值,V为采样节点上的电压(本例中用VS表示),f为采样开关进行开关操作的频率。这个开关电流会在采样节点产生较高的电流尖峰(图1)。
  当设计模数转换器前端的模拟电路时,必须考虑这个开关电流的影响。由于该电流可以通过任何电阻,所以将产生压降,在模数转换器的采样节点处产生电压误差。如果转换器的输入端有高阻抗传感器或高阻抗滤波器相连,那么这个误差将非常大。
  例如,假设电阻器被放置在模数转换器的前端,以隔离传感器并增强静电放电( ESD)保护功能(图2)。在本例中,采样电容器的容值为10pF,开关频率为1MHz。利用上式计算可得,瞬态电流约为25?A。当这个瞬态电流通过10k?的电阻器时,采样节点上将会产生250mV的电压误差。由于采样节点可能被安排在下一个采样周期之前,因此这是最差情况下的近似值。该建立时间取决于由10k&O电阻器和采样电容器构成的RC时间常数,以及模数转换器输入端的寄生电容。寄生电容可能是由模数转换器的导线、电路板上的走线长度以及内部MOS开关电容造成的。此外,可能需要一个外部缓冲器电路来提供必需电流,并确保采样节点能被正确设置,从而保持转换器的线性特性。
  不过,当开关频率更高时,放大器输出阻抗将增大,因此必须仔细选择放大器和相关电路才能解决瞬态开关电流问题。
  为尽可能减小外部电路的瞬态电流要求,可以设置一个内部缓冲器(图3)。在这个实现方案中,模拟开关构成三种不同的状态。在位置1处,采样电容器被快速充电至采样节点电压(在本例中为VS)加上(或减去)缓冲器偏差(VOS)。在这一阶段,对电容器充电所需的瞬态电流由内部缓冲器电路提供。内部缓冲器可被优化设计,以便在所要求的开关频率下提供低阻抗输出,利用该开关频率可在指定时间对电容器进行正确充电。然后,开关被重新配置,在图3位置2处形成连接。在此阶段,采样电容器直接与模数转换器的采样节点相连。
  接着,采样电容器被充电或放电,以便电容器电压与采样节点上的电压相等。此时可能仍然存在少量开关电流,但外部电路所需的电流将减少,这是由于电容器电压已经被充电至内部缓冲器的偏置电压范围内。最后,模拟开关切换到位置3处,此时采样后的电压可被传送至采样电路的其余部分。带缓冲器的开关电容器输入能够大幅降低模数转换器外部电路的瞬态电流,这是它的优点之一。在前一个例子中,采样电容器的容值为10pF,开关频率为1MHz。假设内部缓冲器的电压偏置为10mV,这将产生仅100nA的瞬态电流,该数值比不带缓冲的采样输入的瞬态电流小250倍。
  在某些情况下,一个固定或可编程增益放大器被集成到模数转换器前端的同一个硅片中,这个放大器不仅有助于减小必须由外部电路提供的开关电流,而且还能对模拟信号进行放大。另外,还可以设置一个斩波稳定放大器来减小1/f噪声,这种噪声有时也被称为&闪烁噪声&。这种低频噪声是由处理工艺固有的MOS晶体管通道中的表面态引起的。斩波可以消除1/f噪声,并减小外部电流要求。不过,由于MOS开关不匹配,电路中仍将存在少量输入瞬态电流。
  无论采用何种采样架构,模数转换器都必须实现某种形式的ESD保护。对于CMOS方案来说,通常采用箝位二极管进行ESD保护,如图4所示。箝位二极管可有效限制加在转换器内部晶体管上的电压。如果输入电压与电源轨之差超过了二极管压降(通常为0.7V),则二极管将开始传导电流并限制电压。但是,箝位二极管同样会出现电流泄漏,在设计模拟输入电路时必须考虑这个问题。尽管这个泄漏电流通常都较小,也许只有几皮安培,但该电流会随着温度升高而按比例大幅增加。
  随着模数转换器的持续发展,系统设计工程师能充分理解所采用的输入结构以及这种结构对外部电路的影响已经变得越来越重要。本文对一个简单的开关电容器输入结构进行了探讨。开关电流要求可显著影响系统的总体性能,而外部电路必须进行相应设计。一个集成的缓冲器或放大器可以大幅减小开关电流,从而简化模数转换器外部的电路设计。ESD保护电路也将会影响外部电流要求,并且随着温度变化对电流的影响也不一样。
Gmail 的多国语言翻译功能,相信提供不少人更方便地阅读邮件。而目前 Google 也即将把多国语言输入法从 Google Docs 带到 Gmail 上了,这套在线输入法支持超过 100 种虚拟键盘和 75 种的语言,比之前所见到的 ......关键字:
我们还记得 Google 之前获得的基于眼球追踪技术的解锁专利,这次的专利则可以用在手上,这算是感知输入的又一个新方式。最新的专利文件显示,Google 获得了一个基于手套的输入专利。这种手套控制器里有一对感测器可......关键字:
还记得上次写字是什么时候吗?在几乎一切都在数码化的今天大家动手写字的机会正在变得越来越少。不过 Google 现在为其移动版的搜索网页加入了手写输入的功能,下次在手机或平板上想要搜东西的时候或许会让你有一些「......关键字:
     在线文档处理服务 Google Docs 今日推出在线输入法功能,包含中文繁简体在内,共计支持 37 种语言。据 Google Drive 官方在 Google+ 发布的消息有两大重点,第一是使用者不需要在操作系统里面安装,就可以......关键字:
谷歌开发iOS输入法的动机,是进一步提高iOS用户使用谷歌搜索的频率。......关键字:
针对IEEE 100GBASE-CR4、100GBASE-KR4和CAUI-4标准的全自动解决方案现已在采样示波器和实时示波器上全面提供......关键字:
是德科技公司半导体技术在芯片组上的应用取得重大突破,即将推出具备更高带宽的示波器。凭借新的芯片组,是德科技将在
2017 年推出更高带宽的实时和采样示波器(带宽将高于 100 GHz);本底噪声也会远远好于当前市面上......关键字:
21ic讯 贸泽电子 (Mouser Electronics) 即日起率先供应 Maxim Integrated 最新推出的 MAX11905
单通道模数转换器。MAX11905 为单通道 20 位逐次逼近寄存器 (SAR) 模数转换器 ......关键字:
我 要 评 论
热门关键词503 Service Temporarily Unavailable
503 Service Temporarily Unavailable
openresty/1.9.7.4 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
如何选择模数转换器的输入采样结构
下载积分:1500
内容提示:如何选择模数转换器的输入采样结构
文档格式:PDF|
浏览次数:0|
上传日期: 21:11:57|
文档星级:
全文阅读已结束,如果下载本文需要使用
 1500 积分
下载此文档
该用户还上传了这些文档
如何选择模数转换器的输入采样结构
官方公共微信

我要回帖

更多关于 音频输入的采样率 的文章

 

随机推荐