AD转换模块课件

上传人:风*** 文档编号:240743804 上传时间:2024-05-04 格式:PPT 页数:92 大小:704KB
返回 下载 相关 举报
AD转换模块课件_第1页
第1页 / 共92页
AD转换模块课件_第2页
第2页 / 共92页
AD转换模块课件_第3页
第3页 / 共92页
点击查看更多>>
资源描述
第第10章章A/D转换模块转换模块1.10.1 A/D转换模块概述转换模块概述F2407的的A/D模数转换模块模数转换模块(ADC):1.带内置采样和保持(带内置采样和保持(S/H)的)的10位位ADC。2.16个的模拟输入通道(个的模拟输入通道(ADCIN0ADCIN15)。)。3.两个独立的排序器(两个独立的排序器(SEQ1和和SEQ2。4.可可 单单 独独 访访 问问 的的 16个个 结结 果果 寄寄 存存 器器(RESULT0RESULT15)。)。注意:注意:F240 xA器件的器件的ADC模块和模块和F24x器件的器件的ADC模模块不兼容,块不兼容,ADC的程序代码不能相互移植。的程序代码不能相互移植。2.10.2 自动排序器的工作原理自动排序器的工作原理ADC的的排排序序器器:包包括括两两个个独独立立的的最最多多可可选选择择8个个模模拟拟转转换通道的排序器(换通道的排序器(SEQ1和和SEQ2)。)。这这两两个个排排序序器器可可级级连连成成一一个个可可选选择择16个个转转换换模模拟拟通通道道的排序器(的排序器(SEQ)。)。在在这这两两种种工工作作方方式式下下,ADC模模块块都都能能够够序序列列转转换换并并进行自动排序。进行自动排序。注注:在在DSP中中只只有有一一个个A/D变变换换器器,这这个个变变换换器器由由双双排序器工作模式下的两个排序器共享。排序器工作模式下的两个排序器共享。3.排序排序通通过过模模拟拟输输入入通通道道的的多多路路选选择择器器来来选选择择要要转转换换的的通通道。道。转转换换结结束束后后,转转换换后后的的数数值值结结果果保保存存在在该该通通道道相相应应的结果寄存器(的结果寄存器(RESULTn)中。)中。即即第第0通通道道的的转转换换结结果果保保存存在在RESULT0中中,第第1通通道道的转换结果保存在的转换结果保存在RESULT1中,依此类推。中,依此类推。说明说明用用户户可可以以对对同同一一个个通通道道进进行行多多次次采采样样,即即对对某某一一通通道道实实行行“过过采采样样”,这这样样得得到到的的采采样样结结果果比比传传统统的的采采样结果分辨率高。样结果分辨率高。4.级连工作方式下自动排序级连工作方式下自动排序ADC的结构框图的结构框图5.双排序器工作方式下自动排序的双排序器工作方式下自动排序的ADC的结构框图的结构框图6.双排序器和单排序器工作比较双排序器和单排序器工作比较特征参数特征参数单单8通道排序器通道排序器1(SEQ1)单单8通道排序器通道排序器2(SEQ2)16通道级连排序器通道级连排序器(SEQ)开始转换触发方式开始转换触发方式EVA、软件和外部、软件和外部引脚引脚EVB和软件和软件EVA、EVB、软件、软件和外部引脚和外部引脚最大自动转换通道数最大自动转换通道数(如:排序器长度)(如:排序器长度)8816序列转换完成后序列转换完成后自动停止自动停止是是是是是是触发优先权触发优先权高高低低不适用不适用A/D转换结果寄存器转换结果寄存器0-78-15015排序控制器位分配排序控制器位分配(CHSELSEQn)CONV00CONV07CONV08CONV15CONV00CONV157.注意注意在在双双排排序序器器模模式式下下,来来自自“未未被被激激活活”的的排排序序器器的的A/D启启动动请请求求将将在在“被被激激活活”的的排排序序器器完完成成采采样样之之后后自自动动开开始执行。始执行。即即,假假设设A/D转转换换正正在在忙忙于于处处理理SEQ2的的操操作作,当当SEQ1启启动动一一个个SOC信信号号后后,A/D转转换换器器在在完完成成SEQ2的操作之后立即开始响应的操作之后立即开始响应SEQ1的请求。的请求。最最多多可可选选择择8个个自自动动转转换换通通道道双双排排序序器器工工作作方方式式和和最最多多可可选选择择16个个自自动动转转换换通通道道单单排排序序器器工工作作方方式式的的操操作作大致相同。大致相同。8.描述排序器的规定描述排序器的规定 排序器排序器1(SEQ1):):CONV00CONV07;排序器排序器2(SEQ2):):CONV08CONV15;级连排序器(级连排序器(SEQ):):CONV00CONV15。9.10.2.1 连续的自动排序模式连续的自动排序模式 1.SEQ1/SEQ2在在一一次次排排序序过过程程中中对对8个个通通道道进进行行任任意意排序转换;排序转换;2.每每次次转转换换结结果果保保存存到到8个个结结果果寄寄存存器器,SEQ1的的结结果果寄寄存存器器为为RESULT0RESULT7,SEQ2的的结结果果寄存器为寄存器为RESULT8RESULT15。10.排排序序中中的的转转换换个个数数受受MAX CONVn(MAXCONV寄寄存器中的一个存器中的一个3位段域或位段域或4位段域)控制;位段域)控制;MAX CONVn段域的值在段域的值在0 7范围变化。范围变化。MAX CONVn在在自自动动排排序序的的转转换换开开始始时时,被被装装载载到到自自动动排排序序状状态态寄寄存存器器(AUTO_SEQ_SR)的的排排序序计计数器段域(数器段域(SEQ CNTR30)。)。当当排排序序器器从从通通道道CONV00开开始始有有顺顺序序的的转转换换时时,SEQ CNTRn段段域域的的值值从从装装载载值值开开始始向向下下计计数数直直到到SEQ CNTRn为为0。一次自动排序完成的转换数为一次自动排序完成的转换数为MAX CONVn1。11.例例1:在双排序器模式下用在双排序器模式下用SEQ1进行进行A/D转换。转换。设:用设:用SEQ1完成完成7个通道的转换个通道的转换排序自动转换:通道排序自动转换:通道2、3、2、3、6、7、12。MAX CONV1的值设为的值设为6 CHESELQn寄存器填入值寄存器填入值 表中数值为十进制,表中数值为十进制,x为不关心的值。为不关心的值。12.连连续续的的自自动动排排序序方方式式A/D转转换换流流程程图图13.说明说明用用户户必必须须保保证证在在下下一一个个转转换换序序列列开开始始之之前前,读读取取结果寄存器的值。结果寄存器的值。在在ADC模模块块企企图图向向结结果果寄寄存存器器写写入入数数据据,而而用用户户却却企企图图从从结结果果寄寄存存器器中中读读取取数数时时,ADC模模块块的的仲仲裁逻辑保证在发生这种冲突时不会崩溃。裁逻辑保证在发生这种冲突时不会崩溃。14.注意注意SEQ CNTR为为0后:后:如如果果位位CONT RUN为为0,则则排排序序器器指指针针停停留留在在最最后后状状态;态;如如果果位位CONT RUN为为1,则则转转换换自自动动重重新新开开始始(即即SEQ CNTRn装装入入最最初初的的MAX CONV1的的值值,SEQ1的通道指针指向的通道指针指向CONV00)。)。在在SEQ CNTRn每每次次到到达达0时时,中中断断标标志志位位被被置置为为1,需需要要时时用用户户可可以以在在中中断断服服务务子子程程序序中中用用ADCTRL2寄寄存存器器中中的的RST SEQn位将排序器手动复位。位将排序器手动复位。复复位位之之后后,在在下下一一个个A/D启启动动信信号号来来到到时时SEQ CNTR装装入入MAX CONVn中的原始值,且中的原始值,且SEQ1指针指向指针指向CONV00。15.10.2.2 排序器的启动排序器的启动/停止模式停止模式 可实现在时间上单独和多个启动信号触发源同步的可实现在时间上单独和多个启动信号触发源同步的功能。功能。CONT RUN位必须设置为位必须设置为0。在在排排序序器器完完成成第第一一个个转转换换序序列列之之后后,不不需需要要在在中中断断服服务务程程序序中中复复位位,即即排排序序器器初初始始指指针针不不需需要要指指到到CONV00就可以被重新触发。就可以被重新触发。因因此此,一一个个转转换换序序列列之之后后,排排序序器器指指针针指指到到当当前前的的通通道。道。16.例例2 排序器工作在启动排序器工作在启动/停止方式停止方式 要求:要求:触触发发源源1(定定时时器器下下溢溢)启启动动3个个自自动动转转换换(I1、I2和和I3););触触发发源源2(定定时时器器周周期期)启启动动3个个自自动动转转换换(V1、V2和和V3)。)。触发源触发源1和触发源和触发源2在时间上是分开的,即间隔在时间上是分开的,即间隔25S。注注:触触发发源源1和和2可可以以是是来来自自事事件件管管理理器器EVA,外外部部引引脚或软件的脚或软件的SOC信号。信号。17.MAX CONV1的值置为的值置为2。ADC模块的输入通道选择排序控制寄存器模块的输入通道选择排序控制寄存器 18.事件管理器事件管理器A(EVA)启动排序器)启动排序器19.一一旦旦复复位位和和初初始始化化之之后后,SEQ1就就开开始始等等待待触触发发源源的到来。的到来。第第一一个个触触发发源源到到来来之之后后,执执行行通通道道选选择择值值为为CONV00(I1)、CONV01(I2)和和CONV02(I3)的)的3个转换。个转换。转换完成之后,转换完成之后,SEQ1等待另一个触发源的到来。等待另一个触发源的到来。25S之之后后另另一一个个触触发发源源到到来来,ADC模模块块开开始始执执行行另另外外 3个个 通通 道道 选选 择择 值值 为为 CONV03(V1)、CONV04(V2)和)和CONV05(V3)的转换。)的转换。20.在第二个转换序列完成之后,在第二个转换序列完成之后,ADC模块的结果寄存器中得到的值模块的结果寄存器中得到的值 缓冲寄存器缓冲寄存器ADC结果缓冲区结果缓冲区结果寄存器结果寄存器0(RESULT0)I1结果寄存器结果寄存器1(RESULT1)I2结果寄存器结果寄存器2(RESULT2)I3结果寄存器结果寄存器3(RESULT3)V1结果寄存器结果寄存器4(RESULT4)V2结果寄存器结果寄存器5(RESULT5)V321.说明说明I.在在两两种种触触发发源源的的情情况况下下,MAX CONV1的的值值被被自自动装入动装入SEQ CNTR1中。中。II.如如果果第第二二个个触触发发源源要要求求转转换换的的个个数数和和第第一一个个不不一一样样,用用户户必必须须在在第第二二个个触触发发源源来来到到之之前前,通通过过软软件件改改变变MAX CONV1 的的值值;否否则则ADC模模块块将将重重新新使用原来的使用原来的MAX CONV1中的值。中的值。III.用用户户可可以以在在第第一一个个触触发发源源引引起起的的转转换换完完成成之之后后的的中中断断复复位位程程序序中中改改变变MAX CONV1的的值值,为为第第二二个触发源引起的转换个数作准备。个触发源引起的转换个数作准备。22.10.2.3 输入触发源输入触发源排序器排序器1(SEQ1)排序器排序器2(SEQ2)级连排序器级连排序器(SEQ)软件触发软件触发软件触发软件触发软件触发软件触发事件管理器事件管理器A(EVA SOC)触发)触发事件管理器事件管理器B(EVB SOC)触发)触发事件管理器事件管理器A(EVA SOC)触发)触发外部引脚外部引脚(ADC SOC)触发)触发事件管理器事件管理器B(EVB SOC)触发)触发外部引脚外部引脚(ADC SOC)触发)触发23.注:注:1排排序序器器处处于于空空闲闲状状态态:在在接接收收到到一一个个触触发发源源之之前前,排排序序器器指指针针指指到到CONV00或或者者排排序序器器已已经经完完成成一一个个转转换序列(即换序列(即SEQ CNTR为为0)。)。无无论论何何时时,只只要要一一个个排排序序器器处处在在空空闲闲状状态态,一一个个启启动信号触发就可以启动一个自动转换序列。动信号触发就可以启动一个自动转换序列。2如如果果一一个个新新的的启启动动触触发发信信号号来来到到时时,当当前前转转换换序序列列正正在在进进行行,则则将将ADCTRL2寄寄存存器器中中的的SOC SEQn位置位置1(该位在前一个转换开始时被清(该位在前一个转换开始时被清0)。)。但但,如如果果此此时时SOC SEQn位位已已经经为为1,则则该该启启动动触触发发信号丢失。信号丢失。24.3一旦被触发后,不能在转换中途停止或中断排序器。一旦被触发后,不能在转换中途停止或中断排序器。除除非非,程程序序等等到到了了一一个个序序列列的的停停止止信信号号或或者者对对排排序序器器进行了复位。进行了复位。复复位位使使排排序序器器立立即即返返回回到到空空闲闲的的起起始始状状态态(SEQ1和和级级连连的的排排序序器器指指针针指指到到CONV00,SEQ2的的排排序序器器指指针针指指到到CONV08)。)。4当当SEQ1/2工工作作在在级级连连方方式式下下,到到SEQ2的的触触发发源源被被忽略,而到忽略,而到SEQ1的触发源仍然有效。的触发源仍然有效。级级连连方方式式可可视视为为SEQ1有有16个个转转换换通通道道而而非非8个个转转换换通通道。道。25.10.2.4 在排序转换时的中断操作在排序转换时的中断操作排序器可以在两种工作方式下产生中断,排序器可以在两种工作方式下产生中断,工工作作方方式式方方式式由由ADCTRL2寄寄存存器器中中的的中中断断模模式式控控制位决定。制位决定。26.27.Case 1:第第一一个个序序列列和和第第二二个个序序列列中中采采样样的的个个数数不不一样。一样。使用中断方式使用中断方式1:在每次:在每次EOS到来时,产生中断请求。到来时,产生中断请求。(1)排序器设置)排序器设置MAX CONVn=1以转换以转换I1和和I2。(2)在中断服务子程序)在中断服务子程序a中,软件将中,软件将MAX CONVn的的值改为值改为2以转换以转换V1、V2和和V3。(3)在中断服务子程序)在中断服务子程序b中完成以下操作:中完成以下操作:MAX CONVn改为改为1,用来转换,用来转换I1和和I2;I1、I2、V1、V2和和V3的值从的值从ADC结果寄存器中读出;结果寄存器中读出;复位排序器。复位排序器。(4)重复第()重复第(2)步和第()步和第(3)步。)步。注意:在每次注意:在每次SEQ CNTR到到0时将中断标志位置时将中断标志位置1,且,且产生两次中断。产生两次中断。28.Case 2:两个序列的采样个数相等。两个序列的采样个数相等。使用中断方式使用中断方式2:每隔一个:每隔一个EOS信号,产生一次中断信号,产生一次中断请求。请求。(1)排序器设置)排序器设置MAX CONVn=2以转换以转换I1、I2和和I3(或者(或者V1、V2和和V3)。)。(2)在中断服务子程序)在中断服务子程序b或或d完成以下操作:完成以下操作:I1、I2、I3、V1、V2和和V3的值从的值从ADC结果寄存器结果寄存器中读出;中读出;复位排序器。复位排序器。(3)重复第()重复第(2)步和第()步和第(3)步。)步。注注意意:在在每每次次SEQ CNTR到到0时时将将中中断断标标志志位位置置1,即即在在ADC转转换完换完I1、I2和和I3或者或者V1、V2和和V3之后中断标志位置之后中断标志位置1。但是只有转换完但是只有转换完V1、V2和和V3之后才产生中断。之后才产生中断。29.Case 3:两个序列的采样个数相等(带虚读)。:两个序列的采样个数相等(带虚读)。使用中断方式使用中断方式2:每隔一个:每隔一个EOS信号,产生一次中断请信号,产生一次中断请求。求。(1)排序器设置)排序器设置MAX CONVn=2以转换以转换I1、I2和和x。(2)在中断服务子程序)在中断服务子程序b或或d完成以下操作:完成以下操作:I1、I2、x、V1、V2和和V3的值从的值从ADC结果寄存器中读结果寄存器中读出;出;复位排序器。复位排序器。(3)重复第()重复第(2)步和第()步和第(3)步。)步。注意:第注意:第3个个x采样为一个假采样,并没有要求采样。采样为一个假采样,并没有要求采样。但为了使中断服务子程序的开销和但为了使中断服务子程序的开销和CPU的干扰最小,的干扰最小,可以利用中断方式可以利用中断方式2的中断请求特性。的中断请求特性。30.10.3 ADC时钟预定标时钟预定标通过改变通过改变ADCTR1寄存器中的寄存器中的ACQ PS3-ACQ PS0位位段域和段域和CPS位,调整位,调整F240 xA器件器件ADC的采样的采样/保持模保持模块来适应信号阻抗的变化。块来适应信号阻抗的变化。31.A/D转换时间转换时间A/D转换可被分成两个时间段转换可被分成两个时间段。32.说明说明I.如如果果ACQ PS3ACQ PS0位位段段域域的的值值全全为为0,即即预定标器的值为预定标器的值为1;II.CPS为为0时,时,PS时钟将和时钟将和CPU时钟一样。时钟一样。III.对对于于预预定定标标器器的的任任何何其其它它值值,PS都都会会增增加加采采样样/保保持窗口的时间。持窗口的时间。IV.如果如果CPS为为1,则,则S/H窗口长度为原来的窗口长度为原来的2倍。倍。1.即即,原原来来的的S/H窗窗口口再再加加上上被被预预定定标标器器拉拉长长的的倍数才是最后的倍数才是最后的PS。注意:注意:在在CPS为为0时,时,PS和和ACLK将和将和CPU时钟相等。时钟相等。33.10.4 校准模式校准模式说明说明1.在在校校准准方方式式下下,ADCINn引引脚脚未未接接A/D 转转换换器器,因因此此不能对排序器进行操作。不能对排序器进行操作。2.接接收收A/D 转转换换器器输输入入端端的的信信号号为为BRG ENA位位和和HI/LO位。位。校校准准模模式式:计计算算ADC模模块块的的零零点点、中中点点和和最最大大值值时时的的偏移误差。偏移误差。偏偏移移误误差差为为二二进进制制补补码码,保保存存在在校校准准寄寄存存器器中中(二二进制补码操作只适用于误差值为负的情况)。进制补码操作只适用于误差值为负的情况)。ADC硬件自动将偏移误差量加到转换值上。硬件自动将偏移误差量加到转换值上。34.校准寄存器(校准寄存器(CALIBRATION)地址地址70B8hCALIBRATION寄存器中存放校准模式下的最后结果。寄存器中存放校准模式下的最后结果。在正常模式下时,在正常模式下时,ADC转换结果保存到结果寄存器之转换结果保存到结果寄存器之前前CALIBRATION寄存器中的值会自动加到寄存器中的值会自动加到ADC转换转换结果的输出。结果的输出。35.例例1:如如果果选选择择VREFHI作作校校准准操操作作,则则期期望望的的结结果果是是3FFh。如如果果从从CALIBRATION寄寄存存器器读读出出的的校校准准转转换换结结果果为为3FDh,那那么么用用户户应应当当在在离离开开校校准准模模式式之之前前,将值将值002h写到写到CALIBRATION寄存器中。寄存器中。CALIBRATION寄寄存存器器中中的的值值(002h)将将对对以以后后的转换值进行的转换值进行2个数的调整。个数的调整。36.例例2:如果选择如果选择VREFLO作校准操作,则期望的结果是作校准操作,则期望的结果是000h。如果从如果从CALIBRATION寄存器读出的校准转换结寄存器读出的校准转换结果为果为003h,那么用户应当在离开校准模式之前,那么用户应当在离开校准模式之前,将值将值003h写到写到CALIBRATION寄存器中。寄存器中。CALIBRATION寄存器中的值(寄存器中的值(003h)将对以后)将对以后的转换值进行的转换值进行3个数的调整。个数的调整。37.校准操作校准操作1.在在 校校 准准 模模 式式 下下,ADC将将 转转 换换 结结 果果 保保 存存 在在CALIBRATION寄存器中;寄存器中;2.在校准转换结束之后,在校准转换结束之后,INT_FLAG_SEQ1位置位置1;3.如果中断被使,则产生中断;如果中断被使,则产生中断;4.用用户户必必须须读读取取CALIBRATION寄寄存存器器的的值值,以以判判断断该该值值对对理理想想值值的的偏偏移移量量有有多多大大,然然后后在在离离开开这这种种 校校 准准 方方 式式 之之 前前,将将 该该 偏偏 移移 量量 写写 回回CALIBRATION寄存器中;寄存器中;5.转转换换值值被被送送到到结结果果寄寄存存器器之之前前,CALIBRATION寄存器中的值将加到转换值上(不是在校准模式)。寄存器中的值将加到转换值上(不是在校准模式)。38.注意注意为为了了得得到到精精确确的的结结果果,校校准准操操作作必必须须作作两两次次,即即在在保保证证已已经经完完成成第第一一个个校校准准操操作作后后,应应当当立立即即启启动动第第二个校准操作(这将覆盖第一次校准操作的结果)。二个校准操作(这将覆盖第一次校准操作的结果)。39.10.5 自测式模式自测式模式自测试模式只能用来检测自测试模式只能用来检测ADC引脚的短路或开路。引脚的短路或开路。注意:注意:正常模式和自测试模式不能同时使用。正常模式和自测试模式不能同时使用。在自测试模式下,采样周期为正常模式的两倍。在自测试模式下,采样周期为正常模式的两倍。40.10.6 ADC模块的寄存器模块的寄存器地址地址寄存器寄存器名称名称70A0hADCTRL1ADC控制寄存器控制寄存器170A1hADCTRL2ADC控制寄存器控制寄存器270A2hMAXCONV最大转换通道数寄存器最大转换通道数寄存器70A3hCHSELSEQ1通道选择排序控制寄存器通道选择排序控制寄存器170A4hCHSELSEQ2通道选择排序控制寄存器通道选择排序控制寄存器270A5hCHSELSEQ3通道选择排序控制寄存器通道选择排序控制寄存器370A6hCHSELSEQ4通道选择排序控制寄存器通道选择排序控制寄存器470A7hAUTO_SEQ_SR自动排序状态寄存器自动排序状态寄存器41.地址地址寄存器寄存器名称名称70A8hRESULT0转换结果缓冲寄存器转换结果缓冲寄存器070A9hRESULT1转换结果缓冲寄存器转换结果缓冲寄存器170AAhRESULT2转换结果缓冲寄存器转换结果缓冲寄存器270ABhRESULT3转换结果缓冲寄存器转换结果缓冲寄存器370AChRESULT4转换结果缓冲寄存器转换结果缓冲寄存器470ADhRESULT5转换结果缓冲寄存器转换结果缓冲寄存器570AEhRESULT6转换结果缓冲寄存器转换结果缓冲寄存器670AFhRESULT7转换结果缓冲寄存器转换结果缓冲寄存器742.地址地址寄存器寄存器名称名称70B0hRESULT8转换结果缓冲寄存器转换结果缓冲寄存器870B1hRESULT9转换结果缓冲寄存器转换结果缓冲寄存器970B2hRESULT10转换结果缓冲寄存器转换结果缓冲寄存器1070B3hRESULT11转换结果缓冲寄存器转换结果缓冲寄存器1170B4hRESULT12转换结果缓冲寄存器转换结果缓冲寄存器1270B5hRESULT13转换结果缓冲寄存器转换结果缓冲寄存器1370B6hRESULT14转换结果缓冲寄存器转换结果缓冲寄存器1470B7hRESULT15转换结果缓冲寄存器转换结果缓冲寄存器1570B8hCALIBRATION校准结果寄存器,用来校正转换结果校准结果寄存器,用来校正转换结果43.1ADC控制寄存器控制寄存器1(ADCTRL1)地址地址70A0h 15 14 13 12 111098保留保留位位RESETSOFTFREEACQ PS3ACQ PS2ACQ PS1ACQ PS0 RW-0 RW-0 RW-0 RW-0 RW-0RW-0RW-0RW-07 6 5 43210CPSCONT RUNINT PRISEQ CASCCAL ENABRG ENAHI/LOSTEST ENARW-0 RW-0 RW-0 RW-0RW-0RW-0RW-0RW-0注:注:R=可读可读,W=可写可写,-0=复位值复位值44.位位15 保留位。保留位。位位14复复位位位位。ADC模模块块软软件件复复位位位位。此此位位引引起起一一个个对对整整个个ADC模模块块的的主主动动复复位位。所所有有的的寄寄存存器器和和排排序序器器指指针针都都复复位位到到器器件件复复位位引引脚脚被被拉拉低低或或者者上上电复位时的初始状态。电复位时的初始状态。0无影响无影响1复位整个复位整个ADC模块模块注:注:ADC模模块块可可在在系系统统复复位位时时被被复复位位,但但用用户户可可以以提提供供向此位写入向此位写入1,实现在任何时候对,实现在任何时候对ADC模块的复位。模块的复位。45.一一个个NOP指指令令后后就就可可以以对对向向ADCTRL1寄寄存存器器中中写写入入相应的值。相应的值。在在缺缺省省设设置置足足够够时时,复复位位ADC模模块块之之后后也也可可不不向向ADCTRL1中写数。中写数。SPLK#01xxxxxxxxxxxxxxb,ADCTRL1 ;复位整个;复位整个ADC模块(模块(RESET=1)NOP ;保证写入;保证写入ADCTRL1寄存器所需的延时寄存器所需的延时 SPLK#00 xxxxxxxxxxxxxxb,ADCTRL1 ;清除;清除ADC的复位位(的复位位(RESET=0)46.位位1312SOFT位位和和FREE位位。决决定定仿仿真真悬悬挂挂时时ADC模模块块的的工工作情况。作情况。在自由运行模式下,在自由运行模式下,ADC模块的运行不受仿真影响;模块的运行不受仿真影响;在在停停止止模模式式下下,仿仿真真悬悬挂挂时时,ADC模模块块可可立立即即停停止止或或者者完完成成当当前前操作之后停止。操作之后停止。SOFT FREE0 0 一旦仿真悬挂,一旦仿真悬挂,ADC模块立即停止;模块立即停止;1 0 仿真悬挂时,仿真悬挂时,ADC模块完成当前转换后停止;模块完成当前转换后停止;x 1 自由运行,继续运行而不管仿真悬挂。自由运行,继续运行而不管仿真悬挂。位位118采样时间选择位采样时间选择位ACQ PS3ACQPS0。决定。决定ADC时时钟的预定标系数。钟的预定标系数。位位7CPS位。转换时钟预定标位。决定位。转换时钟预定标位。决定ADC转换逻辑时转换逻辑时钟的预定标。钟的预定标。0FCLKCLK/1;1FCLK=CLK/2。其中其中CLK为为CPU时钟频率。时钟频率。47.AD模块的预定标系数模块的预定标系数 48.49.位位6连连续续转转换换位位CONT RUN。决决定定排排序序器器工工作作在在连连续续转转换换模模式式或或者者启启动动/停停止止模模式式。用用户户可可以以在在当当前前转转换换序序列列正正被被执执行行时时向向该该位位写写数数,但但是是只只有有在在当当前前转转换换序序列列完完成成之之后后才才生生效效。在在连连续续模模式式下下,用用户户不不用用对对排排序序器器复复位位,而而在在启启动动/停停止模式下,必须复位排序器,使排序器指针指到止模式下,必须复位排序器,使排序器指针指到CONV00。0启动启动/停止模式;停止模式;1连续转换模式。连续转换模式。位位5ADC中断请求优先级位中断请求优先级位INT PRI。0高优先级;高优先级;1低优先级。低优先级。位位4级连排序器工作方式位级连排序器工作方式位SEQ CASC。0双排序器工作模式。双排序器工作模式。SEQ1和和SEQ2为可为可选择选择8个转换通道的排序器;个转换通道的排序器;1级连模式。级连模式。SEQ1和和SEQ2级连起来作为级连起来作为一个可选择一个可选择16个转换通道的排序器个转换通道的排序器SEQ。50.位位3偏差校准使能位偏差校准使能位CAL ENA。0禁止校准模式;禁止校准模式;1使能校准模式。使能校准模式。位位2桥使能位桥使能位BRG ENA。0满的参考电压被接到满的参考电压被接到ADC输入;输入;1参考的中点电压被接到参考的中点电压被接到ADC输入。输入。位位1VREFHI和和VREFLO选择位选择位HI/LO。0VREFLO作为作为ADC输入的值;输入的值;1VREFHI作为作为ADC输入的值。输入的值。位位0自测试使能位自测试使能位STEST ENA。0禁止自测试模式;禁止自测试模式;1使能自测试模式。使能自测试模式。51.参考电压位选择定义参考电压位选择定义 52.2ADC控制寄存器控制寄存器2(ADCTRL2)地址地址70A1h53.位位15EVB SOC SEQ。EVB的的SOC信号使能级信号使能级连排序器位。连排序器位。0不起作用;不起作用;1允许级连的排序器允许级连的排序器SEQ由事件管理由事件管理器器B的信号启动。的信号启动。位位14RST SEQ1/STRT CAL。复位排序器。复位排序器1/启启动校准转换方式位。动校准转换方式位。在校准转换方式被禁止的情况下:在校准转换方式被禁止的情况下:0不起作用;不起作用;1立即复位排序器,使排序器指针指立即复位排序器,使排序器指针指到到CONV00。在校准转换方式使能的情况下:在校准转换方式使能的情况下:0不起作用;不起作用;1启动校准转换方式。启动校准转换方式。54.位位13 SOC SEQ1。启动。启动SERQ1转换位。转换位。以下触发源可以引起此位被置以下触发源可以引起此位被置1:S/W 软件向这一位写软件向这一位写1;EVA 事件管理器事件管理器A;EVB 事件管理器事件管理器B(仅在级连模式下);(仅在级连模式下);EXT 外部引脚(即外部引脚(即ADC SOC引脚)。引脚)。0清除一个悬挂的清除一个悬挂的SOC请求;请求;1软件触发启动软件触发启动SEQ1。55.当一个触发源到来时,有当一个触发源到来时,有3种情况可能发生:种情况可能发生:SEQ1处于空闲状态且清处于空闲状态且清0 SOC位时,位时,SEQ1立即启动立即启动(在判优仲裁控制下);置(在判优仲裁控制下);置1 SOC SEQ1位后立即清位后立即清0,允,允许悬挂后来的触发源。许悬挂后来的触发源。SEQ处于忙状态但处于忙状态但SOC位为位为0时,置时,置1 SOC SEQ1位表示位表示正悬挂一个触发源请求;当正悬挂一个触发源请求;当SEQ1完成当前的转换又重新完成当前的转换又重新开始时,清开始时,清0该该SOC SEQ1位。位。SEQ1处于忙状态且已经置处于忙状态且已经置1 SOC位时,忽略此时来到的位时,忽略此时来到的触发源。触发源。注:注:在在同同一一个个指指令令中中设设置置RST SEQ1位位和和SOC SEQ1位位时时,将将复复位位排排序器。序器。正正确确的的操操作作顺顺序序:先先设设置置RST SEQ1位位,再再在在下下一一条条指指令令中中设设置置SOC SEQ1位。保证复位一个排序器之后,再将其重新启动。位。保证复位一个排序器之后,再将其重新启动。RST SEQ2位和位和SOC SEQ2位的操作亦如此。位的操作亦如此。56.位位12SEQ1 BSY。SEQ1忙状态位。忙状态位。0SEQ1处于空闲状态;处于空闲状态;1SEQ1处于忙状态,一个转换序列正在进行。处于忙状态,一个转换序列正在进行。位位1110 对对SEQ1的中断方式使能控制位。的中断方式使能控制位。位位9INT FLAG SEQ1位。位。ADC模块模块SEQ1的中断标志位。的中断标志位。0无中断事件发生;无中断事件发生;1有中断事件发生。有中断事件发生。位位8EVA SOC SEQ1位。事件管理器位。事件管理器A对对SEQ1产生产生SOC信号信号的屏蔽位。的屏蔽位。0SEQ1不能被不能被EVA的触发源启动;的触发源启动;1允许允许SEQ1/SEQ被被EVA的触发源启动。的触发源启动。位位7EXT SOC SEQ1位。外部信号对位。外部信号对SEQ1的启动转换位。的启动转换位。0不起作用;不起作用;1允许一个来自允许一个来自ADCSOC引脚上信号,启动引脚上信号,启动ADC自动转换自动转换序列。序列。位位6RST SEQ2。复位排序器。复位排序器2。0不起作用;不起作用;1立即复位排序器,使排序器指针指到立即复位排序器,使排序器指针指到CONV00。57.位位11位位10中断方式中断方式说明明00中断不使能中断不使能01中断模式中断模式1在在中中断断标志志位位(INT FLAG SEQ1)置置1时,立即申立即申请中断中断10中断模式中断模式2仅当当INT FLAG SEQ1标志志已已经设置置时,产生生中中断断请求求。如如果果清清除除了了+,则INT FLAG SEQ1置置1,中中断断请求求被被屏屏蔽蔽。(模模式式2允允许其其它排序它排序结束束产生中断申生中断申请)11 保留保留注注:+如如果果有有两两个个排排序序通通道道要要求求申申请中中断断,则最最后后完完成成的的排排序序通道将具有通道将具有较高的高的优先先级。58.位位5SOC SEQ2位。启动位。启动SEQ2转换位(仅适转换位(仅适用于双排序器模式)。用于双排序器模式)。以下触发源可以引起该位置以下触发源可以引起该位置1:S/W 软件向这一位写软件向这一位写1;EVB 事件管理器事件管理器B。0清除一个悬挂的清除一个悬挂的SOC请求;请求;1软件触发启动软件触发启动SEQ1。当一个触发源到来时有当一个触发源到来时有3种情况可能发生:种情况可能发生:SEQ2处处于于空空闲闲状状态态且且SOC位位清清0时时,SEQ2立立即即启启动动(在在判判优优仲仲裁裁控控制制下下);该该位位置置1后后立立即即被被清清0,允允许许后后来来的的触触发发源源被悬挂。被悬挂。SEQ2处处于于忙忙状状态态但但SOC位位为为0时时,该该位位置置1以以表表示示正正悬悬挂挂一一个个触触发发源源请请求求;当当SEQ2完完成成当当前前的的转转换换又又重重新新开开始始时时,该该位位清清0。SEQ2处处于于忙忙状状态态且且SOC位位已已经经置置1时时,忽忽略略此此时时来来到到的的触触发源。发源。59.位位4SEQ2 BSY位。位。SEQ2忙状态位。忙状态位。0SEQ2处于空闲状态;处于空闲状态;1SEQ2处于忙状态,一个转换序列处于忙状态,一个转换序列正在进行。正在进行。位位32对对SEQ2的中断方式使能控制位。的中断方式使能控制位。位位1INT FLAG SEQ2位。位。ADC模块模块SEQ2的的中断标志位。中断标志位。0无中断事件发生;无中断事件发生;1发生过中断事件。发生过中断事件。位位0EVA SOC SEQ2位。事件管理器位。事件管理器B对对SEQ2产生产生SOC信号的屏蔽位。信号的屏蔽位。0SEQ2不能被不能被EVB的触发源启动;的触发源启动;1允许允许SEQ2被被EVB的触发源启动。的触发源启动。60.位位3位位2中断方式中断方式说明明00中断不使能中断不使能01中断模式中断模式1在在中中断断标志志位位(INT FLAG SEQ2)置置1时,立即申立即申请中断中断10中断模式中断模式2仅当当INT FLAG SEQ1标志志已已经设置置时,产生生中中断断请求求,如如果果清清除除了了+,则INT FLAG SEQ1置置1,中中断断请求求被被屏屏蔽蔽。(模模式式2允允许其它排序其它排序结束束产生中断申生中断申请)11保留保留注注:+如如果果有有两两个个排排序序通通道道要要求求申申请中中断断,则最最后后完完成成的的排排序通道将具有序通道将具有较高的高的优先先级。61.3最大转换通道寄存器(最大转换通道寄存器(MAXCONV)地址地址70A2h15-8保留保留位位R-x7 6 5 43210保留保留位位MAXCONV2_2MAXCONV2_1MAXCONV2_0MAXCONV1_3MAXCONV1_2MAXCONV1_1MAXCONV1_0RW-0 RW-0 RW-0 RW-0RW-0RW-0RW-0RW-062.位位15 7保留位。保留位。表表10.11 MAX CONV1的的位位定定义义和和转转换换个个数数之之间间的的关系。关系。位位6 0 MAX CONVn位域。位域。该位域决定了一次自动转换最多转换的通道个数。该位域决定了一次自动转换最多转换的通道个数。注注意意:该该位位域域及及其其操操作作随随着着排排序序器器工工作作模模式式的的变变化而变化。化而变化。对对SEQ1操作,使用位域操作,使用位域MAX CONV1_2 0;对对SEQ2操作,使用位域操作,使用位域MAX CONV2_2 0;对对SEQ 操作,使用位域操作,使用位域MAX CONV1_3 0。63.表表10.11MAX CONV1的位定义和转换个数之间的关系的位定义和转换个数之间的关系64.例例10.3 对对MAX CONV寄存器位的编程寄存器位的编程 如果需要进行如果需要进行5个转换,则个转换,则MAX CONV设置为设置为4;在在双双排排序序器器模模式式下下使使用用SEQ1或或者者在在级级连连模模式式下下使使用用SEQ;排序器指针依次从排序器指针依次从CONV00指到指到CONV04;5个转换结果依次存放在转换结果寄存器个转换结果依次存放在转换结果寄存器00 04中。中。在在双双排排序序器器模模式式下下使使用用SEQ2时时,排排序序器器指指针针依依次次从从CONV08指指到到CONV12,且且5个个转转换换结结果果依依次次存存放放在在转换结果寄存器转换结果寄存器08 12中。中。当当SEQ1工工作作在在双双排排序序器器模模式式下下,且且写写入入MAX CONV1中中的的值值超超过过7时时,SEQ CNTRn超超过过7之之后后将将继继续续计计数数,并使排序指针重新指到并使排序指针重新指到CONV00继续转换。继续转换。65.4自动排序状态寄存器(自动排序状态寄存器(AUTO_SEQ_SR)地址地址 70A7h15 12111098保留保留位位SEQCNTR3SEQCNTR2SEQCNTR1SEQCNTR0R-xR-0R-0R-0R-07 6 5 43210保留保留位位SEQ2-State2SEQ2-State1SEQ2-State0SEQ1-State3SEQ1-State2SEQ1-State1SEQ1-State0R-x R-0 R-0 R-0R-0R-0R-0R-066.位位15 12 保留位。保留位。位位11 8SEQ CNTR3-SEQ CNTR0。排序器计数状态位。见表排序器计数状态位。见表10.12。位位7保留位。保留位。位位6 4SEQ2-State2 SEQ2-State0。反映了反映了SEQ2排序器指针的状态。排序器指针的状态。如果需要,用户可以根据这几位的值,在结束转换如果需要,用户可以根据这几位的值,在结束转换EOS信号来到之前,读取中间结果。信号来到之前,读取中间结果。位位3 0SEQ1-State3 SEQ1-State0。反映了反映了SEQ1排序器指针的状态。排序器指针的状态。如果需要,用户可以根据这几位的值,在结束转换如果需要,用户可以根据这几位的值,在结束转换EOS信号来到之前,读取中间结果。信号来到之前,读取中间结果。每一个每一个4位域都可为自动转换选择位域都可为自动转换选择16个模拟输入通道中个模拟输入通道中的任意一个。见表的任意一个。见表10.13。67.表表10.12 SEQ CNTRn位定义位定义68.表表10.13 ADC输入通道选择位定义输入通道选择位定义69.5ADC输入通道选择排序控制寄存器输入通道选择排序控制寄存器(CHSELSEQn)地址地址70A3h 70A6h 15 1211 87 43 0CONV03CONV02CONV01CONV00RW-x RW-0RW-0RW-0CHSELSEQ115 1211 87 43 0CONV07CONV06CONV05CONV04RW-x RW-0RW-0RW-0CHSELSEQ270.15 1211 87 43 0CONV11CONV10CONV09CONV08RW-x RW-0RW-0RW-0CHSELSEQ315 1211 87 43 0CONV15CONV14CONV13CONV12RW-xRW-0RW-0RW-0CHSELSEQ471.6ADC转换结果缓冲寄存器(转换结果缓冲寄存器(RESULTn)地址地址 70A8h-70B7h 注:注:1.缓冲区地址为缓冲区地址为70A8h70B7h(16个寄存器);个寄存器);2.10位转换结果放在(位转换结果放在(D9D0)。)。72.10.7 ADC 转换时钟周期转换时钟周期 转换周期可分成转换周期可分成5个阶段个阶段:1.启动时序同步启动时序同步(SOS同步):只在一个转换序列的同步):只在一个转换序列的第一个转换时需要;第一个转换时需要;2.采样时间采样时间(ACQ)3.转换时间(转换时间(CONV););4.结束转换时间结束转换时间(EOC):):5.序列转换完成后,序列转换完成后,设置标志位时间设置标志位时间EOS:该时间仅:该时间仅在一个序列的最后一个转换时需要。在一个序列的最后一个转换时需要。注意:注意:转换时间与一个给定的序列中转换的个数有关。转换时间与一个给定的序列中转换的个数有关。ACQ、CONV和和EOC在每个转换中都需要。在每个转换中都需要。73.ADC转换各个阶段需要的转换各个阶段需要的CLKOUT时钟周期时钟周期 转换阶段转换阶段CLKOUT 时钟周期时钟周期(CPS=0)CLKOUT 时钟周期时钟周期(CPS=1)启动启动SOS时序同步时序同步22或或3+采样时间(采样时间(ACQ)2+4+转换时间(转换时间(CONV)1020结束转换时间(结束转换时间(EOC)12序列转换完成后设置标志位时间序列转换完成后设置标志位时间(EOS)11注注:+当当CPS=1时时,启启动动时时序序根根据据软软件件设设置置的的触触发发方方式式使使用用相相应应的的CLKOUT时时钟钟周周期期同步同步ADC的时钟周期(的时钟周期(ADCCLK)。)。+采采样样时时间间和和ACQ PSn上上的的位位有有关关。采采样样时时间间在在ACQ PS=1、2和和3的的值值列列于于表表10.15。从表中可推断其他的。从表中可推断其他的ACQ PSn值所对应的采样时间(值所对应的采样时间(ACQ)。)。74.ACQPS=1,2,3时时ACQ的值的值75.10.8 ADC 转换应用举例转换应用举例 程序只作一次程序只作一次A/D采样。采样。1.用事件管理器用事件管理器B的定时器的定时器4,定时时间到来触发,定时时间到来触发A/D采样的启动。采样的启动。2.采样时采用级连模式,一次作采样时采用级连模式,一次作16个转换,转换通个转换,转换通道分别是道分别是015。3.转换完成后,在转换完成后,在A/D中断服务子程序中将转换结中断服务子程序中将转换结果读出。果读出。76.1汇编源程序汇编源程序.include F2407REGS.H;引用头部文件;引用头部文件.def _c_int0;建立中断向量表;建立中断向量表.sect.vectors;定义主向量段;定义主向量段RSVECTB _c_int0;PM 0 复位向量复位向量 1INT1 B GISR1;PM 2 中断优先级中断优先级14INT2 B PHANTOM;PM 4 中断优先级中断优先级25INT3 B PHANTOM;PM 6 中断优先级中断优先级36INT4 B PHANTOM;PM 8 中断优先级中断优先级47INT5 B PHANTOM;PM A中断优先级中断优先级58INT6 B PHANTOM;PM C中断优先级中断优先级69RESERVED B PHANTOM;PM E模拟量输入中断模拟量输入中断(保留保留)10SW_INT8 B PHANTOM;PM 10用户定义软件中断用户定义软件中断-SW_INT31 B PHANTOM;PM 3E用户定义软件中断用户定义软件中断-77.;中断子向量入口定义;中断子向量入口定义pvecs.sect.pvecs;定义子向量段;定义子向量段PVECTORS BPHANTOM;保留向量地址偏移量;保留向量地址偏移量 00HBPHANTOM;保留向量地址偏移量;保留向量地址偏移量 01H BPHANTOM;保留向量地址偏移量;保留向量地址偏移量 02HBPHANTOM;保留向量地址偏移量;保留向量地址偏移量 03HBADCINT_ISR;保留向量地址偏移量;保留向量地址偏移量 04H ADC中断中断BPHANTOM;保留向量地址偏移量;保留向量地址偏移量 05H BPHANTOM;保留向量地址偏移量;保留向量地址偏移量 41H78.;主程序:;主程序:.text_c_int0 SETC INTM CLRC SXM CLRC OVMCLRC CNFLDP#0E0HSPLK#81FEH,SCSR1;CLKIN=6M,CLKOUT=24M SPLK#0E8h,WDCR ;关看门狗;关看门狗LDP#0SPLK#0001h,IMR ;允许;允许INT1中断中断SPLK#0FFFFh,IFR ;清所有中断标志;清所有中断标志 CALLADINIT ;初始化;初始化ADC程序程序CLRCINTM ;开总中断;开总中断 CALLAD ;启动模数转换程序;启动模数转换程序WAIT:NOP BWAIT79.;ADC初始化程序初始化程序ADINIT:LDP#225 ;设置通用定时器;设置通用定时器4 SPLK#0000H,T4CNT SPLK#170CH,T4CON SPLK#075H,T4PER SPLK#0400H,GPTCONB SPLK#0FFFFH,EVBIFRB SPLK#0000H,EVBIMRB LDP#DP_PF2 SPLK#0010H,ADCTRL1 ;设置;设置ADC控制寄存器控制寄存器 SPLK#8404H,ADCTRL2 SPLK#000FH,MAXCONV;16 通道通道 SPLK#3210H,CHSELSEQ1 SPLK#7654H,CHSELSEQ2 SPLK#0BA98H,CHSELSEQ3 SPLK#0FEDCH,CHSELSEQ4 LDP#DP_SARAM2 ;指向;指向0A00H0A80H SPLK#ADRESULT,ADCOUNT RET80.;启动模数转换程序;启动模数转换程序AD:LDP#225 LACLT4CON OR#40H ;启动定时器;启动定时器4 SACLT4CON RET81.;中断程序;中断程序GISR1:;优先级;优先级INT1中断子程序入口中断子程序入口;保护现场;保护现场LDP#0E0HLACCPIVR,1;读取外设中断向量寄存器(;读取外设中断向量寄存器(PIVR),),并左移一位并左移一位ADD#PVECTORS;加上外设中断入口地址;加上外设中断入口地址BACC;跳到相应的中断服务子程序;跳到相应的中断服务子程序ADCINT_ISR:CLRC SXM LDP#DP_SARAM2 LARAR1,ADCOUNT LARAR0,#15 LARAR2,#RESULT0 MAR*,AR2ADC1:LACC*+,10,AR1 SACH*ADRK#32 MAR*,AR0 BANZ ADC1,*-,AR2 LDP#DP_PF2 LACLADCTRL2 OR#4000H ;复位;复位SEQ1 AND#0FFDFH ;清;清INT FLAG SEQ1 ,82.SACLADCTRL2 LDP#DP_SARAM2 LACLADCOUNT SUB#ADRESULT+31 BCNDADC2,GEQ ADD#ADRESULT+32 ;32 SACLADCOUNT BGISR1_RETADC2:SPLK#ADRESULT,ADCOUNT;=32 LACLT4CON AND#0FFBFH ;停止定时器;停止定时器4,即停止即停止AD转换转换 SACLT4CON BGISR1_RETGISR1_RET:;中断返回出口;中断返回出口83.;恢复现场;恢复现场CLRCINTM;开总中断,因为一进中断就自动关闭了总中断;开总中断,因为一进中断就自动关闭了总中断RET;假中断程序;假中断程序PHANTOM KICK_DOG;复位看门狗;复位看门狗RET END84.2C语言源程序语言源程序(1)所需的复位和中断向量定义文件)所需的复位
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!