F280049C Analog-to-Digital Converter

目录

13 Analog to Digital Converter

13.1 Introduction 简介

13.1.1 ADC Features ADC的特性

13.1.2 ADC Block Diagram ADC逻辑框图

13.2 ADC Configurability ADC模块的可配置性

13.2.1 Clock Configuration 时钟配置

13.2.2Resolution 分辨率

13.2.3Voltage Reference 电压参考模式

13.2.4 Signal Mode 信号输入模式

13.2.5 Expected Conversion Results 转换结果

13.2.6 Interpreting Conversion Results (根据转换结果反求采样电压)

13.3 SOC Principle of Operation SOC工作原理

13.3.1 SOC Configuration SOC配置

13.3.2 Trigger Operation 触发源

13.3.3 ADC Acquisition (Sample and Hold) Window ADC的采样保持时间设定

13.3.4 ADC Input Mode ADC的输入模式

13.3.5 Channel Selection 通道选择

13.4 SOC Configuration Examples  SOC配置示例

13.4.1 Single Conversion from ePWM Trigger 以ePWM为触发源的单次转换

13.4.2 Oversampled Conversion from ePWM Trigger 以ePWM为触发信号的过采样转换

13.7 EOC and Interrupt Operation

 13.7.1 Interrupt Overflow 中断溢出

13.7.2 Continue to Interrupt Mode 连续中断模式

13.12 ADC Timings ADC时序

13.12.1 ADC Timings Diagrams ADC时序图


13 Analog to Digital Converter

可以说是最重要的模块了。

 

13.1 Introduction 简介

        ADC模块是一个12位逐次逼近(SAR)式ADC。ADC由内核和包装器组成。核心由模拟电路组成,其中包括通道选择多路复用器、采样和保持(S/H)电路、逐次逼近电路、电压参考电路和其他模拟支持电路。包装器由配置和控制ADC的数字电路组成。这些电路包括用于可编程转换的逻辑、结果寄存器、与模拟电路的接口、与外围总线的接口、后处理电路以及与其他片上模块的接口。

        每个ADC模块由一个采样保持(s/h)电路组成。ADC模块被设计为在同一个芯片上进行多次复制,允许多个ADC同时采样或独立运行。ADC包装器是基于转换开始(SOC)的

13.1.1 ADC Features ADC的特性

每个ADC模块都有以下特点:

  • 12位的分辨率,即最小可以转换的电压为\cfrac{1}{2^{12}}
  • 由VREFHI和VREFLO引脚设置的比率外部参考
  • 2.5V或3.3V的可选内部参考电压
  • 单端信号转换(单端信号可深入理解)
  • 最多16个通道的输入多路复用器
  • 16个可软件配置的SOC(这里的SOC并不是传统意义的转换开始信号,是一个具体的模块)
  • 16个独立编制的结果寄存器
  • 多重触发源——软件立即触发;所有ePWM模块的ADCSOCA或ADCSOCB信号;GPIO XINT2;系统定时器0/1/2;ADCINT1/2(ADC的中断可以触发SOC)
  • 四个灵活的经PIE管理的中断ADCINT1/2/3/4
  • 可配置的中断设置
  • 爆发(Burst)模式
  • 四个后处理模块,每个模块分别由饱和偏移校准、设定点计算误差、高、低和过零比较,具有中断和ePWM斩波能力、触发器到采样延迟捕获。

13.1.2 ADC Block Diagram ADC逻辑框图

这个是一个完整的ADC模块,即核心(模拟部分)以及包装(数字部分),在后续的章节可知该微处理器具有ADCA,ADCB,ADCC三组AD转换,是一个互相独立的ADC模块。

13.2 ADC Configurability ADC模块的可配置性

一些ADC的配置由SOC单独控制,而其他配置则由每个ADC模块全局控制。表13-1总结了基本ADC选项及其配置级别。后续章节将讨论这些配置。

13.2.1 Clock Configuration 时钟配置

基本ADC时钟直接由系统时钟(SYSCLK)提供。该时钟用于生成ADC采集窗口。寄存器ADCCTL2有一个确定ADCCLK的预刻度字段。ADCCLK用于为转换器计时。

核心需要大约10.5个ADCCLK周期才能将电压处理为转换结果。用户有必要确定所需的采集窗口持续时间,见第13.13.2节。

13.2.2Resolution 分辨率

ADC的分辨率决定了模拟范围量化为数字值的精细程度。该ADC支持12位的分辨率。


13.2.3Voltage Reference 电压参考模式

13.2.3.1External Reference Mode 外部参考模式

每个ADC都有一个VREFHI输入和一个VREFLO输入。在外部参考模式下,这些引脚用作比率参考,以确定ADC转换输入范围。
有关如何提供参考电压的信息,请参阅第13.13.6节。


注意

  • 在没有外部VREFLO信号的设备上,VREFLO内部连接到设备模拟地VSSA。即VREFLO=0.
  • 请参阅设备特定的数据表,以确定VREFHI和VREFLO的允许电压范围。
  • 外部参考模式需要VREFHI引脚上的外部电容器。有关所需的特定值,请参阅设备特定的数据表。

13.2.3.2Internal Reference Mode 内部参考模式

在内部参考模式下,设备驱动一个电压到VREFHI引脚。然后VREFHI和VREFLO引脚设置ADC转换范围。

内部参考电压可以配置为2.5V或1.65V。当选择1.65V内部参考电压时,有效的ADC转换输入范围为VREFLO到3.3V。


注意

内部参考模式还需要VREFHI引脚上的外部电容器。有关所需的特定值,请参阅设备特定的数据表。


13.2.3.3 Ganged References 联合参考模式

在某些封装上,可以组合多个ADC的电压参考引脚。在这种情况下,在选择外部参考模式和内部参考模式以及选择3.3V或2.5V的内部参考电压范围时,有必要对组合参考进行相同的配置

例如,如果ADC B和ADC C参考引脚组合在一起,并且所需的参考模式为2.5V内部参考模式,则应运行以下参考配置代码:

//ADCB VREFHI and ADCC VREFHI share a pin
//ADCB VREFLO and ADCC VREFLO share a pin
//Both references must be explicitly configured
//Both references must be configured identically
SetVREF(ADC_ADCB, ADC_INTERNAL, ADC_VREF2P5);
SetVREF(ADC_ADCC, ADC_INTERNAL, ADC_VREF2P5);

内部设备硬件将确保多个参考不会将冲突电压驱动到同一引脚上。
因此,可以按任何顺序或在任何时间段配置引用。

13.2.3.4 Selecting Reference Mode 配置参考模式

应使用C2000Ware中提供的SetVREF或ADC_SetVREF函数配置电压参考模式。使用这些函数中的任何一个都可以确保在ADC微调寄存器中加载正确的微调。
设备重置后,必须至少调用一次此函数。不要通过直接写入ANAREFCTL寄存器来配置电压参考模式


13.2.4 Signal Mode 信号输入模式

ADC支持单端信号采样。

在单端模式下,通过参考VREFLO的单引脚(ADCINx)对AD转换器的输入电压进行采样。

13.2.5 Expected Conversion Results 转换结果

基于给定的模拟输入电压,理想的预期数字转换如表13-2所示。分数值被截断。

13.2.6 Interpreting Conversion Results (根据转换结果反求采样电压)

基于给定的ADC转换结果,理想的相应模拟输入如表13-3所示。这对应于可能产生此转换结果的模拟电压可能范围的中心。

13.3 SOC Principle of Operation SOC工作原理

ADC的触发和转换是通过配置start-of-conversions(SOCS)开始的。每个SOC是一个配置集,定义了单个通道的单个转换。在该集合中有三种配置:启动转换的触发源、要转换的通道和采集(采样)窗口持续时间。在接收到为SOC配置的触发器时,包装器将确保使用指定的采集窗口持续时间捕获指定的通道。
多个SOC可以根据需要被配置为具有相同的触发源,相同的采样通道以及相同长度的采样窗口。
多个SOC配置为使用同一触发信号将允许使触发信号产生一系列的转换。

将多个SOC配置为使用相同的触发器和通道将允许过采样。

13.3.1 SOC Configuration SOC配置

每个SOC都有自己的配置寄存器ADCSOCxCTL(x可以是0~15,代表对应的SOCx的控制寄存器)。在该寄存器中,可以为触发源、要转换的通道和采集(采样)窗口保持时间来配置SOCx。

13.3.2 Trigger Operation 触发源

每个SOC可以配置为在多个输入触发器中的一个上启动。SOCx的触发源配置通过ADCSOCxCTL寄存器中的TRIGSEL位,可在以下触发源之间进行选择:

  • Disabled(software only)
  • CPU Timer0/1/2
  • GPIO:Input X-Bar INPUT5
  • ADCSOCA or ADCSOCB from each ePWM module

当ADCINT1或ADCINT2置位时,也可以触发每个SOC。这是通过配置ADCINTSOCSEL1寄存器(用于SOC0到SOC7)或ADCINTSOCSEL2寄存器(用于SOC8到SOC15)实现的。这对于创建持续的转换非常有用。        

13.3.3 ADC Acquisition (Sample and Hold) Window ADC的采样保持时间设定

外部信号源快速有效地驱动模拟信号的能力各不相同。为了达到额定分辨率,信号源需要将ADC核心中的采样电容器充电至信号电压的0.5LSBs以内。采集窗口是允许采样电容器充电的时间量,可由ADCSOCxCTL为SOCx配置。ACQPS寄存器。
ACQPS是一个9位寄存器,可以设置为0到511之间的值,使采集窗口持续时间为:

采样窗口=(ACQPS+1)* SYSCLK

  • 采样保持时间与SYSCLK有关,但与ADCCLK无关。ADCCLK只与ADC的转换一次电压的速率有关。
  • 选定的采集窗口持续时间必须至少与一个ADCCLK周期一样长。
  • 数据表将指定最小采集窗口持续时间(纳秒)。用户负责选择满足此要求的采集窗口持续时间。

13.3.4 ADC Input Mode ADC的输入模式

对于单端信号输入,单端输入模型中值的ADC输入特性(见图13-3)可在设备特定数据表中找到。

  这些输入模型应与实际信号源阻抗一起使用,以确定采集窗口持续时间。详见第13.13.2节。

13.3.5 Channel Selection 通道选择

每个SOC可以配置位转换某个特定的ADCIN通道,这个可以通过对ADCSOCxCTL寄存器的CHSEL位来配置。表13-4对此进行了总结。

13.4 SOC Configuration Examples  SOC配置示例

13.4.1 Single Conversion from ePWM Trigger 以ePWM为触发源的单次转换

要将ADCA配置为在ePWM计时器达到其周期匹配时在通道ADCIN1上执行单个转换,需要做一些事情。首先,必须将ePWM3配置为生成SOCA或SOCB信号(在本声明中,SOC指ePWM模块中的信号)。有关如何执行此操作,请参阅增强型脉宽调制器模块(ePWM)一章。假设选择了SOCB。
SOC5是任意选择的。16个SOC中的任何一个都可以使用。

假设需要100 ns的采样窗口,SYSCLK频率为100 MHz,则采集窗口持续时间应为100 ns/10 ns=10个周期。因此,ACQPS字段应设置为10-1=9。

AdcaRegs.ADCSOC5CTL.bit.CHSEL = 1; //SOC5 will convert ADCINA1
AdcaRegs.ADCSOC5CTL.bit.ACQPS = 9; //SOC5 will use sample duration of 10 SYSCLK cycles 
AdcaRegs.ADCSOC5CTL.bit.TRIGSEL = 10; //SOC5 will begin conversion on ePWM3 SOCB

按照配置,当ePWM3匹配其周期并生成SOCB信号时,如果ADC空闲,则ADC将立即开始采样通道ADCINA1(SOC5)。如果ADC忙,当SOC5获得优先级时,ADCINA1将开始采样(见第13.5节)。ADC控制逻辑将以100 ns的指定采集窗口宽度对ADCINA1进行采样。采集完成后,ADC将立即开始将采样电压转换为数字值。ADC转换完成后,结果将在ADCRESULT5寄存器中可用(有关精确的采样、转换和结果锁存计时,请参阅第13.12节)。


13.4.2 Oversampled Conversion from ePWM Trigger 以ePWM为触发信号的过采样转换

为了将ADC配置为过采样ADCINA1 4次,我们使用与前一示例相同的配置,但将其应用于SOC5、SOC6、SOC7和SOC8.

// SOC5
AdcaRegs.ADCSOC5CTL.bit.CHSEL = 1; //SOC5 will convert ADCINA1
AdcaRegs.ADCSOC5CTL.bit.ACQPS = 9; //SOC5 will use sample duration of 10 SYSCLK cycles 
AdcaRegs.ADCSOC5CTL.bit.TRIGSEL = 10; //SOC5 will begin conversion on ePWM3 SOCB
// SOC6
AdcaRegs.ADCSOC6CTL.bit.CHSEL = 1; //SOC6 will convert ADCINA1
AdcaRegs.ADCSOC6CTL.bit.ACQPS = 9; //SOC6 will use sample duration of 10 SYSCLK cycles 
AdcaRegs.ADCSOC6CTL.bit.TRIGSEL = 10; //SOC6 will begin conversion on ePWM3 SOCB
// SOC7
AdcaRegs.ADCSOC7CTL.bit.CHSEL = 1; //SOC7 will convert ADCINA1
AdcaRegs.ADCSOC7CTL.bit.ACQPS = 9; //SOC7 will use sample duration of 10 SYSCLK cycles 
AdcaRegs.ADCSOC7CTL.bit.TRIGSEL = 10; //SOC7 will begin conversion on ePWM3 SOCB
// SOC8
AdcaRegs.ADCSOC8CTL.bit.CHSEL = 1; //SOC8 will convert ADCINA1
AdcaRegs.ADCSOC8CTL.bit.ACQPS = 9; //SOC8 will use sample duration of 10 SYSCLK cycles 
AdcaRegs.ADCSOC8CTL.bit.TRIGSEL = 10; //SOC8 will begin conversion on ePWM3 SOCB

按照配置,当ePWM3匹配其周期并生成SOCB信号时,如果ADC空闲,则ADC将立即开始采样通道ADCINA1(SOC5)。如果ADC忙,当SOC5获得优先级时,ADCINA1将开始采样(见第13.5节)。一旦SOC5的转换完成,SOC6将开始转换ADCINA1,SOC5的结果将放入ADCRESULT5寄存器。最终将按顺序完成所有四个转换,结果分别为SOC5、SOC6、SOC7和SOC8的ADCRESULT5、ADCRESULT6、ADCRESULT7和ADCRESULT8。

13.7 EOC and Interrupt Operation

每个SOC都有相应的转换结束(EOC)信号。该EOC信号可用于触发ADC中断。ADC可以配置为在采集窗口结束或电压转换结束时生成EOC脉冲。这是使用ADCCTL1寄存器中的位INTPULSEPOS配置的。EOC脉冲的准确时序见第13.12节。

每个ADC模块有4个可配置的ADC中断。这些中断可以由16个EOC信号中的任何一个触发。可以直接读取每个ADCINT的标志位,以确定相关SOC是否完成,或者中断是否可以传递到PIE。


注意

ADCCTL1。ADCBSY位清除并不表示一组SOC中的所有转换都已完成,仅表示ADC已准备好处理下一个转换。要确定SOC序列是否完整,请将ADCINT标志链接到序列中的最后一个SOC,并监视该ADCINT标志。


图13-7显示了ADC中断结构的框图。

 13.7.1 Interrupt Overflow 中断溢出

如果EOC信号将在ADCINTFLG寄存器中设置标志,但该标志已置位,则会发生中断溢出。默认情况下,溢出中断不会传递给PIE模块。当ADCINTFLG寄存器中的给定标志发生溢出时,将置位ADCINOVF寄存器中的相应标志。此溢出标志仅用于检测是否发生了溢出;它不会阻止进一步的中断传播到PIE模块。

当可能发生ADC中断溢出时,应用程序应检查ISR内或后台环路中的适当ADCINTOVF标志,并在检测到溢出时采取适当措施。以下代码段演示了如何在尝试清除ADCINT标志后检查ISR内的ADCINOVF标志。

AdcaRegs.ADCINTFLGCLR.bit.ADCINT1 = 1; //clear INT1 flag for ADC-A
if(1 == AdcaRegs.ADCINTOVF.bit.ADCINT1) //ADCINT overflow occurred
{
 AdcaRegs.ADCINTOVFCLR.bit.ADCINT1 = 1 //Clear overflow flag 
 AdcaRegs.ADCINTFLGCLR.bit.ADCINT1 = 1 //Re-clear ADCINT flag
}

13.7.2 Continue to Interrupt Mode 连续中断模式

ADCINTSEL1N2和ADCINTSEL3N4寄存器中的INTxCONT位将决定当ADCINTFLG位尚未从先前的中断中清零时,CPU该如何处理中断。默认情况下禁用此模式,即不会向PIE发出额外的中断。通过激活此模式,ADC中断将始终到达PIE。无论此配置如何,当ADCINTFLG仍设置时,如果发生中断,则仍将设置ADCINTOVF寄存器。

要么设置INTxCONT位要么在中断结束时清除通过ADCFLGCLR清楚中断标志位。


13.12 ADC Timings ADC时序

将模拟电压转换为数字值的过程分为采样保持(S+H)阶段和转换阶段。ADC采样和保持电路(S+H)由SYSCLK计时,而ADC转换过程由ADCCLK计时。ADCCLK是根据ADCCTL2寄存器中的预分频字段将SYSCLK分频而生成的。

S+H持续时间是正在转换的SOC的ACQPS字段的值加上1乘以SYSCLK周期。用户必须确保该持续时间超过1个ADCCLK周期和数据表中规定的最小S+H持续时间。转换时间约为10.5个ADCCLK周期。精确的转换时间始终是SYSCLK周期的整数。有关精确计时,请参阅第13.12.1节中的时序图和表格。

13.12.1 ADC Timings Diagrams ADC时序图

下图显示了在以下假设下两个SOC的ADC转换计时:

  • SOC0和SOC1配置为使用同一触发器。
  • 触发时,没有其他SOC正在转换或挂起。
  • 循环指针处于先触发SOC0的状态
  • ADCINTSEL配置为在SOC0转换结束时设置ADCINT标志(该标志是否传播到CPU以引起中断取决于PIE模块中的配置)。

表13-8描述了以下时序图中的参数。表13-9列出了ADC计时。

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数码管(Digital Tube)是一种电子显示器件,常用于数字显示。为了方便使用数码管,我们可以在电路设计中使用数码管封装的PCB设计文件进行下载。 PCB(Printed Circuit Board)即印制电路板,是电子产品中重要的组成部分。在数码管的PCB封装下载中,我们可以通过以下步骤进行操作: 首先,我们需要了解所使用的数码管的型号和封装规格。不同型号的数码管可能有不同的引脚和尺寸排布,因此需要选择相应的PCB封装文件。 其次,我们可以在电子元器件的官方网站或一些电子元器件库中查找到所需的数码管封装文件。通过搜索关键词,如数码管型号+PCB封装,我们可以找到适用于该型号数码管的PCB封装设计文件。 然后,我们可以下载得到的PCB封装文件。一般来说,这些文件以常见的Eagle、Altium Designer或者KiCad等软件的封装元件格式(如.lbr、.eli或.kicad_mod)提供。可以使用对应的电路设计软件来打开和使用这些文件。 打开PCB封装文件后,我们可以在电路设计软件中使用该封装,将数码管的引脚与其他电子元器件的引脚进行正确的连接。 最后,我们可以对整个电路进行布局和布线,根据实际需求设计出最终的PCB。通过合理地放置数码管及其他元件的位置,进行线路布线的优化,可以确保电路的稳定运行和良好的性能。 综上所述,数码管PCB封装下载是一个相对简单的操作。通过了解数码管的型号、查找合适的PCB封装文件、下载文件并使用电路设计软件进行设计,我们可以有效地使用数码管并将其应用到我们的电子设计中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值