第9章模数转换_第1页
第9章模数转换_第2页
第9章模数转换_第3页
第9章模数转换_第4页
第9章模数转换_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1第9章模数转换模块9.1模数转换(ADC)模块的特性1.

ADC模块的特性带有内部采样-保持电路10bitADC模块375ns的转换时间。16个模拟输入通道,每8个通过一个8选1的模拟多路转换开关。对16路模拟量进行“自动排序”。两个独立的8状态排序器(SEQ1和SEQ2),可以独立工作在双排序器模式,或级联为16个状态排序器模式(SEQ-级联模式)在给定的排序模式下,4个排序控制器决定模拟通道的转换顺序。16个存放结果的寄存器(RESULT0∼RESULT15)有多个启动ADC转换的触发源如下:通过ADC控制寄存器SOCSEQn位,软件立即启动EVA事件管理器启动EVB事件管理器启动ADC的SOC引脚启动EVA和EVB可分别独立地触发SEQ1和SEQ2(仅用于双排序器模式)有单独的预定标的采样/保持时间图9.2级联工作方式下自动排序ADC的结构框图图9.1双排序器工作方式下自动排序的ADC的结构框图特征参数SEQ1SEQ2SEQ开始转换触发模式EVA软件外部引脚EVB软件EVAEVB软件外部引脚最大自动转换通道数8816触发优先权高低不适用A/D转换结果寄存器0~78~150~15排序控制器位分配CONV00~CONV07CONV08~CONV15CONV00~CONV15表9-1双排序器和单排序器工作比较2.ADC模块的寄存器表9-2ADC模块的寄存器

地址寄存器名称70A0hADCCTRL1ADC控制寄存器170A1hADCCTRL2ADC控制寄存器270A2hMAXCONV最大转换通道寄存器70A3hCHSELSEQ1通道选择排序控制寄存器170A4hCHSELSEQ2通道选择排序控制寄存器270A5hCHSELSEQ3通道选择排序控制寄存器370A6hCHSELSEQ4通道选择排序控制寄存器470A7hAUTO_SEQ_SR自动排序状态寄存器70A8h∼70B7hRESULT0∼RESULT15转换结果寄存器0∼1570B8hCALIBRATION校准寄存器ADC控制寄存器1(ADCTRL1)——70A0h位15

保留位14

复位位。该位引起一个对整个ADC模块的主动复位,所有寄存器和排序器指针都复位到初始状态。0:无影响1:复位整个ADC模块位13-12

SOFT位和FREE位。决定仿真悬挂时ADC模块的工作情况。00:一旦仿真悬挂,ADC模块立即停止10:仿真悬挂时,ADC模块完成当前转换后停止x1:自由运行,继续运行而不管仿真悬挂位11-8

采样时间选择位ACQPS3-ACQPS0。决定ADC时钟的预定标系数,为ADCTRL1[11:8]+1乘以ADCCLK周期位7

CPS,转换时钟预定标位。决定ADC转换逻辑时钟的预定标。0:ADCCLK=

fCLK/11:

ADCCLK=

fCLK/2位6连续转换位CONTRUN。决定排序器工作在连续转换模式或启动/停止模式0:启动/停止模式; 1:连续转换模式位5

ADC中断请求优先级位INTPRI。0:高优先级; 1:低优先级。位4

级连排序器工作方式位SEQCASC。0:双排序器工作模式。SEQ1和SEQ2最多可选择8个转换通道的排序器。1:级连模式。SEQ1和SEQ2级连起来作为一个最多可选择16个转换通道的排序器SEQ。位3

偏差校准使能位CALENA。0:禁止校准模式; 1:使能校准模式。位2

桥使能位BRGENA。见表9.4(P249)0:满的参考电压被接到ADC输入1:参考的中点电压被接到ADC输入位1

VREFHI和VREFLO选择位HI/LO。见表9.4(P249)0:用VREFHI作为ADC输入1:用VREFLO作为ADC输入位0

V自测试使能位STESTENA。0:禁止自测试模式; 1:使能自测试模式;ADC控制寄存器2(ADCTRL2)——70A1h位15EVBSOCSEQ。EVB的SOC信号为级连排序器使能位。0:不起作用1:允许级连的排序器SEQ被事件管理器B的信号启动位14

RSTSEQ1/STRTCAL。复位排序器1/启动校准转换方式位。在校准转换方式被禁止的情况下:0:不起作用;1:立即复位排序器使排序器指针指到CONV00在校准转换方式被使能的情况下:0:不起作用;1:启动校准转换方式位13

SOCSEQ1。启动SEQ1转换位。0:清除一个悬挂的SOC请求1:软件触发启动SOC请求位12

SEQ1BSY.SEQ1忙状态位。0:SEQ1处于空闲状态1:SEQ1处于忙状态,一个转换序列正在进行位11-10对SEQ1的中断方式使能控制位。位9

INTFLAGSEQ1位。ADC模块SEQ1的中断标志位。0:无中断事件发生; 1:发生过中断事件。位8

EVASOCSEQ1位。事件管理器A对SEQ1产生SOC信号的屏蔽位。0:SEQ1不能被EVA的触发源启动;1:允许SEQ1/SEQ被EVA的触发源启动。位7

EXTSOCSEQ1位。外部信号对SEQ1的启动转换位。0:不起作用;1:允许一个来自ADCSOC引脚上信号启动ADC自动转换序列。位6RSTSEQ2。复位排序器2。0:不起作用; 1:立即复位排序器使排序器指针指到CONV08。位5

SOCSEQ2。启动SEQ2转换位(仅适用于双排序器模式)。0:清除一个悬挂的SOC请求; 1:软件触发启动SEQ2。位4

SEQ2BSY。SEQ2忙状态位。0:SEQ2处于空闲状态; 1:SEQ2处于忙状态,一个转换序列正在进行。位3-2

对SEQ2的中断方式使能控制位。位1

INTFLAGSEQ2位。ADC模块SEQ2的中断标志位。0:无中断事件发生; 1:发生过中断事件。位0

EVBSOCSEQ2位。事件管理器B对SEQ2产生SOC信号的屏蔽位。0:SEQ2不能被EVB的触发源启动; 1:允许SEQ2被EVB的触发源启动。最大转换通道寄存器(MAXCONV)——70A2h位15-7

保留位6-0

MAXCONVn位域。决定一次自动转换最多转换的通道个数。该位域及其操作随排序器工作模式的变化而变化。自动排序状态寄存器(AUTO_SEQ_SR)——70A7h位15-12

保留位11-8

SEQCNTR3~SEQCNTR0。排序计数器。位7保留位6-4

SEQ2-State2~SEQ2-State0。反映SEQ2排序器指针的状态。用户可根据这几位的值,在结束转换信号EOS到来之前读取中间结果。位3-0

SEQ1-State3~SEQ1-State0。反映SEQ1排序器指针的状态。用户可根据这几位的值,在结束转换信号EOS到来之前读取中间结果。ADC输入通道选择排序控制寄存器(CHSELSEQn)——70A3h~70A6hADC转换结果缓冲寄存器(RESULTn)——70A8h~70B7h9.2ADC转换模块概述1自动排序器的操作原理2个8状态排序器SEQ1和SEQ2,也可级联成一个16状态排序器SEQ。状态:排序器可以执行的自动转换数目。ADC模块能对一个序列转换自动排序。转换结束后,结果依次保存在RESULT0、RESULT1……中。用户也可对同一通道进行多次采样,即“过采样”,得到的采样结果比传统的单采样结果分辨率高。规定排序器的状态如下:排序器SEQ1:CONV00-CONV07排序器SEQ2:CONV08-CONV15排序器SEQ:CONV00-CONV15

CONVnn位为4位长,可指定16个通道中的任何一个。自动排序器有两种工作模式:连续自动排序模式以及启动/停止模式。前一种模式收到一个SOC信号,会将整个序列转换完,转换过程不间断。转换完成之后输入通道恢复到初始状态;后一种模式可以有多个SOC信号,这些SOC信号是按时间顺序排列,一个SOC信号所定义的输入通道转换完成后不回到初始状态,而是等待另一个SOC信号继续转换。2连续自动排序的模式此模式,SEQ1/SEQ2在一次排序过程中,可对任意通道的8个转换进行自动排序。转换结果被保存到8个结果寄存器(SEQ1为RESULT0-RESULT7,SEQ2为RESULT8-RESULT15)。在一个排序中的转换个数受寄存器MAXCONV中的一个3位域或4位域控制。它的值在自动排序转换开始时被自动装载到自动排序寄存器(AUTO_SEQ_SR)的排序计数器状态域(SEQCNTR3∼0)。MAXCONV中的3位域有一个在0∼7范围的值,当排序器从状态CONV00开始依次进行。SEQCNTRn位从装载值开始向下计数直到SEQCNTRn为0。一次自动排序中完成的转换数为MAXCONVn+1。图9.3连续自动排序模式A/D转换流程图初始化ADC寄存器触发源产生启动信号SOCMAXCONV的值装入AUTO_SEQ_SR寄存器,排序器通道指针指向CONV00转换开始,每转换完一次SEQCNTR减1当前转换完成,结果存放在相应的RESULTn寄存器中SEQCNTR=0?设置ADC中断标志位INTFLAGSEQn=1ADC转换结束YNCONTRUN=1?

当SEQCNTRn达到0时,将根据ADCTRL1寄存器的连续运行位(CONTRUN)状态,发生以下事情:

(1)如果CONTRUN位=1,转换排序自动再次启动(即SEQCNTRn重载MAXCONV1中的初始值,且SEQ1状态被置于CONV00)。

在这种情况下,必须确保在下一次转换排序之前读取结果寄存器。在ADC模块向结果寄存器写入数据而用户却想从结果寄存器读取数据时,ADC的仲裁逻辑确保结果寄存器不会崩溃。

(2)如果CONTRUN位=0,则排序会停留在过去的状态(例如CONV06),并且SEQCNTRn继续保持0值。

因为每次SEQCNTRn达到0时,中断标志会被置1。如果需要,用户可使用ADCTRL2寄存器的RSTSEQn位,在中断服务程序中复位排序器,以便下一次转换启动时,SEQCNTRn可以重载MAXCONV1的初始值,且SEQ1状态被设置为CONV00。这一特性在排序器的启动/停止操作中很有用。例使用SEQ1的双排序模式中的A/D转换。假设SEQ1要完成7个通道的转换(通道2、3、2、3、6、7和12经过自动排序后转换),则MAXCONV1的值应该设置为6,且CHSELSEQn寄存器的设置如下:位15-12位11-8位7-4位3-070A3h0011001000110010CHSELSEQ170A4hx110001110110CHSELSEQ270A5hxxxxCHSELSEQ370A6hxxxxCHSELSEQ43排序器的启动/停止模式任何一个排序器都可工作在启动/停止模式。这种模式和上例基本相同,但是排序器完成一个转换序列之后,可以在没有复位到初始状态CONV00情况下,被重触发。因此当一个转换排序结束后,排序器停留在当前的转换状态。ADCTRL1寄存器的连续运行位必须设置为0(禁止)。例排序器的启动/停止操作使用触发器1(下溢)启动3个自动转换(I1,I2,I3),触发器2(周期匹配)启动3个自动转换(V1,V2,V3)。触发器1和触发器2时间间隔为25微秒,且由事件管理器A提供,如下图所示。在这种情况下,MAXCONV1的值被设置为2,并且ADC模块的输入通道选择排序控制寄存器(CHSELSEQn)应如表9-4所示设置。表9-4位15-12位11-8位7-4位3-070A3hV1I3I2I1CHSELSEQ170A4hxxV3V2CHSELSEQ270A5hxxxxCHSELSEQ370A6hxxxxCHSELSEQ4复位和初始化之后,SEQ1等待一个触发源信号。第一个触发源到来之后,执行通道选择值为CONV00(I1)、CONV01(I2)和CONV02(I3)的3个转换,然后,SEQ1在当前状态等待另一个触发源信号。当第一个触发源到来后25微秒,ADC模块开始另外3个转换,通道选择值为CONV03(V1)、CONV04(V2)和CONV05(V3)。在两种触发源的情况下,MAXCONV1的值被自动装入到SEQCNTR1中。如果第二个触发源信号到来时,要求转换的数目和第一个触发源时不一样,则用户必须(在第二个触发源到来之前)通过软件改变MAXCONV1的值,否则重新使用当前的MAXCONV1的值(初始载入的),改变MAXCONV1的值可以在适当的时候由中断服务程序(ISR)来完成。在第2个转换完成后,ADC的结果寄存器的值如表9-5所示。表9-5ADC的结果寄存器的值缓冲寄存器ADC的结果RESULT0I1RESULT1I2RESULT2I3RESULT3V1RESULT4V2RESULT5V3RESULT6-RESULT15

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论