DSP的Adc.docx

上传人:b****5 文档编号:6373234 上传时间:2023-01-05 格式:DOCX 页数:11 大小:547.30KB
下载 相关 举报
DSP的Adc.docx_第1页
第1页 / 共11页
DSP的Adc.docx_第2页
第2页 / 共11页
DSP的Adc.docx_第3页
第3页 / 共11页
DSP的Adc.docx_第4页
第4页 / 共11页
DSP的Adc.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

DSP的Adc.docx

《DSP的Adc.docx》由会员分享,可在线阅读,更多相关《DSP的Adc.docx(11页珍藏版)》请在冰豆网上搜索。

DSP的Adc.docx

DSP的Adc

DSP-的Adc

DSP的A/D转换器

本章主要内容:

ØF281x的A/D转换器的特点(FeaturesofF281xADC)

Ø自动排序器原理(AutoconversionSequencerPrinciple)

Ø不间断的自动排序模式(UninterruptAutosequencedMode)

ØADC时钟定标(ADCClockPrescaler)

ØADC寄存器(ADCRegisters)

ØADC的C语言编程实例(ADCCProgramingExamples)

F281x的A/D转换器的特点

TMS320F281xDSP内部有一个12位模/数转换器(AnalogtoDigitalConverter,ADC),

可有16通道模拟输入信号,转换时间可以在80ns以内。

16个结果寄存器ADCRESULT0~

ADCRESULT15存储转换结果。

ADC模块可以设置为两个独立的8通道转换器,将一系列转换自动排序,每个模块

可以从8个输入通道中任意选择输入。

ADC模块也可以工作在级联模式(Cascaded

SequencerMode),自动排序器(Sequencer)就变成一个单16通道的排序器。

该A/D转换器的功能包括:

•12位ADC模块,内含采样/保持(Sample/Hold,S/H)电路。

•同时采样或顺序采样模式。

•模拟电压输入范围0~3V。

•25MHz的ADC时钟频率,转换时间短。

•16通道,多路选通输入。

•可在一次采样中同时实现16路自动转换的自动排序。

每个转换可以从1~16输入

通道中任意选择。

•排序器可以作为两个独立的8通道排序器或一个16通道排序器即级联模式。

•16个结果寄存器存储转换结果,每个寄存器可独立寻址。

输入模拟电压和采样结

果的关系为:

数字结果=4095×(输入模拟电压-ADCLO)/3。

ADCLO是A/D转换

低电压参考值。

•多个触发源可以启动A/D转换。

包括软件(Software,S/W)启动、事件管理器

EVA/EVB(多个触发源)启动、外部引脚触发启动。

图5-1ADC模块原理框图

5.2自动排序器原理

自动排序器可以对模拟通道的转换顺序进行排序。

ADC排序器由两个8状态(State)

排序器SEQ1和SEQ2组成,也可以级联成一个16状态排序器。

这里的状态指排序器中

自动转换的数量,而不是指引脚。

即排序器有两种工作模式:

单排序器(即级联模式)

和双排序器模式。

单排序器可以有16个转换通道,如图5-2所示。

双排序器模式(DualSequencerMode)

为两个独立的8状态或8通道转换,如图5-3所示。

两种排序器都有能力对一系列的转换进行自动排序。

就是说每次ADC收到开始转换

SOC(StartofConversion)的请求,就可自动启动多个转换。

每次转换可选择16个输入通

道中的任意一个。

转换完毕后,通道的A/D转换结果就保存在相应的结果寄存器

ADCRESULTn(n=0~15)中(第一个结果放在ADCRESULT0,第二个结果放在

ADCRESULT1,依此类推)。

在顺序采样的双排序器模式中,从任意一个排序器来的一个悬挂的SOC请求在现有

155

的排序器任务完成后就开始得到处理。

例如假定ADC正在忙于处理SEQ2,此时SEQ1

有了一个开始转换SOC请求,A/D转换器将在完成SEQ2的任务后立即开始处理SEQ1。

如果SEQ1、SEQ2的SOC请求同时来到,SEQ1被优先处理。

例如当ADC正在处理SEQ1

时,SEQ1和SEQ2都有SOC请求,则ADC在完成SEQ1的任务后,又立即响应下一个

SEQ1任务,SEQ2的SOC请求继续保持悬挂。

图5-2单排序器模式的ADC框图

ADC可以工作在顺序采样和同时采样模式下。

对于每个采样(或同时采样中的每对采

样),当前的通道选择排序寄存器(ADCCHSELSEQ1~4)中CONVxx位定义了被采样和转

换的引脚(或每对引脚)。

在顺序采样模式下,CONVxx中的4个位定义了输入引脚。

其中

最高位定义的是选择采样保持器A(S/H-A)还是B(S/H-B)。

例如,若CONVxx中的值为

0101b,则选择ADCINA5引脚进行转换;若值为1011b,则选择ADCINB3引脚。

在同

时采样模式下,CONVxx的最高位不用,低3位决定两个采样保持器采样的引脚。

例如,

如果CONVxx内放入值0110b,则ADCINA6被S/H-A采样,ADCINB6被S/H-B采样,

S/H-A的电压先被转换,随后是S/H-B。

S/H-A的转换结果放在ADCRESULTn寄存器中,

S/H-B的转换结果放在下一个ADCRESULTn寄存器中,结果寄存器的指针随后加2。

无论何种工作方式,注意DSP中只有一个A/D转换模块。

为了方便,以后描述排序器时规定:

SEQ1指的是CONV00~CONV07;

SEQ2指的是CONV08~CONV15;

级联SEQ指CONV00~CONV15。

图5-3双排序器模式的ADC框图

双8状态和单16状态排序器的操作基本相同,不同之处见表5-1。

表5-1ADC单操作模式和级联操作模式比较

每个被排序的转换都对应一个模拟输入通道,可以在ADC输入通道选择排序寄存

器ADCCHSELSEQ1~4中的CONVnn位中定义。

CONVnn由4个二进制位组成,可在指

定1~16通道中的任一个通道进行设置。

因为在级联排序器下最大可有16个转换,因此

一共要有16个这样的4位通道选择(CONV00~CONV15),这些位分布于

ADCCHSELSEQ1~4中。

CONVnn中的值可在0~15之间变化,允许ADC输入通道在任

何顺序下被采样,同样的通道可以多次采样。

5.3不间断的自动排序模式

不间断的自动排序模式(UninterruptedAutosequencedMode)即连续转换模式,在该

模式下SEQ1/SEQ2能在一次排序过程中,对多达8个转换通道进行自动排序。

下面的描述应用于双8状态排序器。

该模式下,SEQ1/SEQ2可一次对8个转换进行

排序。

SEQ1的转换结果保存在ADCRESULT0~ADCRESULT7中,SEQ2的转换结果保

存在ADCRESULT8~ADCRESULT15中。

在ADCMAXCONV寄存器中的MAXCONVn

位置存放了每次转换的数量。

在每次转换的开始,该值就被自动装载到自动排序状态寄

存器ADCASEQSR中(SEQCNTRn位)。

MAXCONVn共有3位(或4位,与工作模式有

关),变化范围从0~7(或0~15)。

ADCASEQSR在载入初始值后,每转换完一路就减1,

减到0意味着转换全部完成。

例5-1,采用SEQ1的双排序模式下的转换。

设在SEQ1中有7路(状态)转换,即ADCINA2和ADCINA3各两次,ADCINA6、

ADCINA7和ADCINB4各1次。

则MAXCONV1=6,ADCCHSELSEQn各寄存器中按

下表放入各数值。

在SOC触发信号到来后,ADCASEQSR中的SEQCNTRn位自动载入6,转换开始

后,每转换完一路就减1。

一旦SEQCNTRn=0,就会发生如下情况:

①如果ADCTRL1寄存器中的CONTRUN位为1,那么转换又自动开始,即SEQ

CNTRn重新载入6,且SEQ1指向CONV00。

这种情况下,必须在下一个转换序列开始

前读出结果寄存器中的数据,以免数据被下次转换结果覆盖。

②如果CONTRUN位为0,那么排序器停止在最后的状态CONV06,SEQCNTRn

保持0不变。

为了在下次SOC时可重复上述采样过程,必须使用ADCTRL2寄存器中的

RSTSEQn位来复位排序器。

如果每次SEQCNTRn减到0时,中断标志位被设置(在INTENASEQn=1,INTMOD

SEQ1=0的条件下),可以在中断服务子程序ISR中对排序器手动复位(用RSTSEQn位)。

这在排序器的启动/停止操作下很有用。

例5-1也可用于SEQ2和级联模式下的16状态排序器SEQ。

1.排序器的启动/停止模式

除了不间断的自动排序模式外,排序器可以工作在启动/停止模式,并可由时间上分

离的多个SOC触发源同步。

该模式和连续转换类似,但是在完成了第一次转换后,排序

器可被重新触发而不用在ISR中复位到初始的CONV00状态。

所以当一次排序转换结束

后,排序器停在当前状态。

该模式下ADCTRL1寄存器中的CONTRUN位必须设成0,

即禁止连续转换。

例5-2,排序器的启动/停止操作。

要求触发1(定时器下溢即计数到0)到来时,开始3个自动转换(I1,I2,I3)。

触发2(定

时器周期匹配即计数达到周期值)到来时,开始另外3个自动转换(V1,V2,V3)。

触发事件

1、2在时间上相差25μs,由事件管理器A提供。

这里仅用到SEQ1。

图5-4事件管理器触发排序转换的例子

这里MAXCONV1设置成2,ADC输入通道选择控制寄存器ADCCHSELSEQn设置

成:

在复位和初始化后,SEQ1等待触发。

当第一个触发到来时,先执行通道选择值为

CONV00(I1)、CONV01(I2)、CONV02(I3)的3个A/D转换,然后SEQ1在现有状态下等待

第二个触发。

25μs后,第二个触发信号到来,接着执行通道选择值为CONV03(V1)、

CONV04(V2)、CONV05(V3)的3个A/D转换。

两次转换中,MAXCONV1的值都自动装载进了SEQCNTRn中。

如果第二次触发

时需完成的A/D转换的数量和第一次不同,则需要在第二次触发到来前的适当时间改变

MAXCONV1的值,否则前面的值将继续使用。

可以在中断服务程序(ISR)中修改MAX

CONV1的值。

在第二次A/D转换结束时,ADC结果寄存器中将有如下结果:

2.同时采样模式

ADC有同时采样两路模拟输入的能力,前提为一路输入是ADCINA0~ADCINA7,

另一路输入是ADCINB0~ADCINB7,而且两路输入的偏移量是对应的,例如ADCINA0

和ADCINB0,而不是ADCINA2和ADCINB3。

若使ADC变成同时采样模式(Simultaneous

SamplingMode),ADCTRL3寄存器中的SMODE_SEL位必须设为1。

3.输入触发描述

每个排序器都有一套触发源,触发源可以被使能或禁止。

不同的SEQ触发源如表5-2

所示。

注意:

排序器处于空闲时,SOC可以触发一次自动转换。

空闲指在SOC到来前排序

器指向CONV00,或者指排序器完成了一次转换,即SEQCNTRn到达0值。

如果SOC到来时,ADC正进行转换,则ADCTRL2寄存器中的SOCSEQn位被设

置(该位在开始一个转换前被清0)。

如果又来了一个SOC,则这一次的SOC就丢失掉,

因为SOCSEQn已经为1了。

一旦触发,排序器就不能中途停止。

程序必须等待排序器结束信号EOS到来,或者

使排序器复位,才能令排序器立即回到空闲状态。

当SEQ1/2用于级联模式时,忽略通向SEQ2的触发,只有SEQ1触发有效。

级联模式可以看成16路转换而不是8路的SEQ1。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1