文档详情

第8章 模数转换ADC模块.ppt

发布:2018-06-13约4.93千字共29页下载文档
文本预览下载声明
第8章 模数转换(ADC)模块 8.1 ADC模块的特性 (7)16个存放结果的寄存器(RESULT0~RESULT15)。 (8)有多个启动ADC转换的触发源如下: * 软件启动 * EVA事件管理器启动(比较匹配、周期匹配、 下溢、CAP3) * EVB事件管理器启动(比较匹配、周期匹配、 下溢、CAP6) * ADC的SOC引脚启动(与XINT2引脚共用) (9)EVA和EVB可分别独立地触发SEQ1和SEQ2(仅 用于双排序器模式) (10)采样/保持时间有单独的预定标控制。 (11)LF240x/240xA DSP的ADC模块和24x的ADC模 块不兼容。 ADC模块的寄存器如表8-1所示: 表8-1 ADC模块的寄存器 地址 寄存器 名称 70A8h~ 70B7h RESULT0~ RESULT15 转换结果寄存器0~ 15 70B8h CALIBRATION 校准寄存器 8.2 ADC模块概述 2个8状态排序器SEQ1和SEQ2,也可级联成一个16状态 排序器SEQ。 状态:排序器可以执行的自动转换数目。 ADC模块能对一系列的转换进行排序。转换结束后, 结果依次保存在RESULT0、RESULT1 …中。 用户也可对同一通道进行多次采样,即“过采样”,得 到的采样结果比传统的单采样结果分辨率高。 单排序器模式下ADC模块原理框图如图8-1所示。 双排序器模式下ADC模块原理框图如图8-2所示。 为讲解方便,规定排序器的状态如下: 排序器SEQ1:CONV00-CON07 排序器SEQ2:CONV08-CON15 排序器SEQ:CONV00-CON15 8.2.2 不中断的自动排序的模式 为每个排序所选的模拟输入通道由排序控制寄存器 (CHSELSEQn)的CONVnn位域(4位长)所定义,可指定16通道中的任何一个。 在一个排序中的转换个数受寄存器MAX CONV中的一个3位域或4位域MAX CONVn控制。它的值在自动排序转换开始时被自动装载到自动排序状态寄存器(AUTO_SEQ_SR)的排序计数器SEQCNTRn。 MAX CONVn位域的值在0~7之间,排序器从状态CONV00 开始转换,SEQ CNTRn位域从装载值开始向下计数,直到SEQ CNTRn为0。 不中断的自动排序模式流程图如图8-3所示。 一次自动排序中完成的转换数为MAX CONVn +1。例8.1 利用SEQ1进行A/D转换 假设SEQ1要完成7个通道则MAX CONV1的值的转换(通道2、3、2、3、6、7和12需要进行自动排序转换), 应该设置为6,且CHSELSEQn寄存器的设置如下: 图8-3 不中断的自动排序模式流程图 一旦转换启动(SOC)触发信号被排序器收到后,转 换立即开始,转换通道数载入SEQ CNTRn位域,按 照CHSELSEQn寄存器指定的通道顺序进行转换。 每个通道转换结束后,SEQ CNTRn自动减1 。当SEQ CNTRn达到0 时,将根据ADCTRL1寄存器的连续运行 位(CONT RUN)状态,发生以下事情: (1)如果CONT RUN位=1,转换排序自动再次启动(即SEQ CNTRn重载MAX CONV1中的初始值,且SEQ1状态被置于CONV00)。 (2)如果CONT RUN位 =0,则排序会停留在过 去的状态(例如CONV06),并且SEQ CNTRn继续保持0值。 在这种情况下,必须确保在下一次转换排序之前读取结果寄存器。 在ADC模块向结果寄存器写入数据而用户却想从结果寄存器读取数据时,ADC的仲裁逻辑确保结果寄存器不会崩溃。 因为每次SEQ CNTRn达到0时,中断标志会被置1。 如果需要,用户可使用ADCTRL2寄存器的RST SEQn 位,在中断服务程序中复位排序器,以便下一次转 换启动时,SEQ CNTRn可以重载MAX CONV1的初始 值,且SEQ1状态被设置为CONV00。这一特性在排序 器的启动/停止操作中很有用。 8.2.3 排序器的启动/停止模式 除不中断的自动排序模式外,任何一个排序器都可工作在启动/停止模式。 在此模式,可实现多个启动转换触发在时间上同步。这种模式和上例基本相同,但是排序器完成一个转换序列之后,可以在没有复位到初始状态CONV00情况下,被重新触发。因此当一个转换排序结束后,排序器停留在当前的转换状态。 在这种方式下,ADCTRL1寄存器的连续运行位必须设置为禁止(写0 )。 例8.2 排序器的启动/停止操作 使用触发信号1(定时器下溢)启动3个自动转换(例如I1、I2、I3),触发信号2(定时器
显示全部
相似文档