1 / 25

第 8 章: 模数转换模块 (ADC)

第 8 章: 模数转换模块 (ADC). 8.1 ADC 模块概述 8.2 自动排序器的工作原理 8.3 ADC 时钟预定标 8.4 ADC 的工作模式 8.5 ADC 模块寄存器 8.6 ADC 转换时钟周期. 8 .1 ADC 模块概述. ADC 模块的特性 10bitADC 内核,带有内置采样 - 保持电路。 375ns 的转换时间。 16 个模拟输入通道。 对 16 路模拟量进行“自动排序”。 2 个独立的 8 状态排序器( SEQ1 和 SEQ2 )-双排序器,或级联为 16 个状态排序器模式( SEQ )-单排序器。

kerem
Download Presentation

第 8 章: 模数转换模块 (ADC)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第8章: 模数转换模块(ADC) • 8.1 ADC模块概述 • 8.2 自动排序器的工作原理 • 8.3 ADC时钟预定标 • 8.4 ADC的工作模式 • 8.5 ADC模块寄存器 • 8.6 ADC转换时钟周期

  2. 8.1 ADC模块概述 ADC模块的特性 • 10bitADC内核,带有内置采样-保持电路。 • 375ns的转换时间。 • 16个模拟输入通道。 • 对16路模拟量进行“自动排序”。 • 2个独立的8状态排序器(SEQ1和SEQ2)-双排序器,或级联为16个状态排序器模式(SEQ)-单排序器。 • 在给定的排序模式下,4个排序控制器(CHSELSEQn)决定模拟通道的转换顺序。 • 16个存放结果的寄存器(RESULT0∼RESULT15)。

  3. 8.1 ADC模块概述 ADC模块的特性(续) 有多个启动ADC转换的触发源如下: 软件启动 EVA事件管理器启动(比较匹配、周期匹配、下溢、CAP3) EVB事件管理器启动(比较匹配、周期匹配、下溢、CAP6) ADC的SOC引脚启动(与XINT2引脚共用) EVA和EVB可分别独立地触发SEQ1和SEQ2(仅用于双排序器模式) 采样/保持时间有单独的预定标控制。 内置校验/自测模式。 LF240x/240xADSP的ADC模块和24x的ADC模块不兼容

  4. 8.2 自动排序器的工作原理 2个8状态排序器SEQ1和SEQ2,也可级联成一个16状态排序器SEQ。 状态:排序器可以执行的自动转换数目。 ADC模块能对一系列的转换进行排序。转换结束后,结果依次保存在RESULT0、RESULT1……中。 用户也可对同一通道进行多次采样,即“过采样”,得到的采样结果比传统的单采样结果分辨率高。 单排序器模式下ADC模块原理框图如图8.1(p167)所示。 双排序器模式下ADC模块原理框图如图8.2(p168)所示。

  5. 8.2 自动排序器的工作原理 为讲解方便,规定排序器的状态如下: 排序器SEQ1:CONV00-CON07 排序器SEQ2:CONV08-CON15 排序器SEQ:CONV00-CON15 转换触发特性: SEQ1:软件、EVA、外部引脚,优先级高于SEQ2 SEQ2:软件、EVB,优先级低于SEQ1 SEQ:软件、EVA、EVB、外部引脚,无仲裁优先级 由每个排序所选的模拟输入通道由排序控制寄存器(CHSELSEQn)的CONVnn位域(4位长)所定义,可指定16通道中的任何一个。

  6. 8.2 自动排序器的工作原理 1、连续的自动排序的模式 此模式,SEQ1/SEQ2在一次排序过程中,可对8个转换通道进行自动排序。转换结果被保存到8个结果寄存器(SEQ1为RESULT0-RESULT7,SEQ2为RESULT8-RESULT15)。 在一个排序中的转换个数受寄存器MAX CONV中的一个3位域或4位域MAX CONVn控制。它的值在自动排序转换开始时被自动装载到自动排序状态寄存器(AUTO_SEQ_SR)的排序计数器SEQCNTRn。 MAX CONVn位域的值在0∼7之间,排序器从状态CONV00开始转换,SEQ CNTRn位域从装载值开始向下计数,直到SEQ CNTRn为0。 一次自动排序中完成的转换数为MAX CONVn+1。

  7. 8.2 自动排序器的工作原理 例8.1 在双排序器模式下利用SEQ1进行A/D转换 假设SEQ1要完成7个通道的转换(通道2、3、2、3、6、7和12需要进行自动排序转换),则MAX CONV1的值应该设置为6,且CHSELSEQn寄存器的设置如下:

  8. 8.2 自动排序器的工作原理 连续的自动排序模式流程 一旦转换启动(SOC)触发信号被排序器收到后,转换立即开始,转换通道数载入SEQ CNTRn位域,按照CHSELSEQn寄存器指定的通道顺序进行转换。 每个通道转换结束后,SEQ CNTRn自动减1。当SEQ CNTRn达到0时,将根据ADCTRL1寄存器的连续运行位(CONT RUN)状态,发生以下事情:

  9. 8.2 自动排序器的工作原理 (1)如果CONT RUN位=1,转换排序自动再次启动(即SEQ CNTRn重载MAX CONV1中的初始值,且SEQ1状态被置于CONV00)。 在这种情况下,必须确保在下一次转换排序之前读取结果寄存器。 在ADC模块向结果寄存器写入数据而用户却想从结果寄存器读取数据时,ADC的仲裁逻辑确保结果寄存器不会崩溃。 (2)如果CONT RUN位=0,则排序会停留在过去的状态(例如CONV06),并且SEQ CNTRn继续保持0值。 因为每次SEQ CNTRn达到0时,中断标志会被置1。 如果需要,用户可使用ADCTRL2寄存器的RST SEQn位,在中断服务程序中复位排序器,以便下一次转换启动时,SEQ CNTRn可以重载MAX CONV1的初始值,且SEQ1状态被设置为CONV00。这一特性在排序器的启动/停止操作中很有用。

  10. 8.2 自动排序器的工作原理 2、排序器的启动/停止模式 除不中断的自动排序模式外,任何一个排序器都可工作在启动/停止模式。 在此模式,可实现多个启动转换触发在时间上同步。这种模式和上例基本相同,但是排序器完成一个转换序列之后,可以在没有复位到初始状态CONV00情况下,被重新触发。因此当一个转换排序结束后,排序器停留在当前的转换状态。 在这种方式下,ADCTRL1寄存器的连续运行位必须设置为禁止(写0 )。

  11. 8.2 自动排序器的工作原理 例8.2 排序器的启动/停止操作 使用触发信号1(定时器下溢)启动3个自动转换(例如I1、I2、I3),触发信号2(定时器周期)启动3个自动转换(例如V1、V2、V3)。两个触发信号在时间上是分开的,时间间隔为25微秒,并且由事件管理器A提供,如图8.4所示。本实例只用了SEQ1。 注意:触发信号1和2可以是事件管理器A(EVA)的转换启动(SOC)信号、外部引脚或软件。相同的触发信号要产生两次,以满足本例双触发器的要求。

  12. 8.2 自动排序器的工作原理 在这种情况下,MAX CONV1的值被设置为2,输入通道选择排序控制寄存器(CHSELSEQn)的设置如下。 复位和初始化之后,SEQ1等待触发信号。第一个触发信号到来之后,执行CONV00(I1)、CONV01(I2)和CONV02(I3)这3个转换,然后,SEQ1在当前状态等待另一个触发信号。当第二个触发信号到来时,ADC模块开始另外3个转换,分别为CONV03(V1)、CONV04(V2)和CONV05(V3)。

  13. 8.2 自动排序器的工作原理 在这两种触发情况下,MAX CONV1的值被自动装入到SEQCNTVn中。如果第二个触发信号到来时,要求转换的数目和第一个触发时不一样,则用户必须在第二个触发信号到来之前通过软件改变MAX CONV1的值,否则ADC将重新使用原来的MAX CONV1的值。 在两个自动转换完成后,ADC的结果寄存器的值如下表所示。

  14. 8.2 自动排序器的工作原理 3、输入触发源 每一个排序器都有一组能被使能或禁止的触发源。SEQ1、SEQ2和SEQ的有效输入触发源见表8.5。

  15. 8.2 自动排序器的工作原理 4、排序转换期间的中断操作 排序器在转换期间有两种中断方式,由ADCTRL2寄存器中的中断模式控制位决定。 第一种中断方式是在每次EOS(转换结束)到来时产生中断请求。 第二种中断方式是每隔一个EOS(转换结束)信号产生中断请求。

  16. 8.3 ADC时钟预定标 模数转换过程分为两个时段:采样/保持时段,转换时段,如图8.6所示。LF240xA DSP中ADC的采样/保持(S/H)时间可以调节,以适应输入信号阻抗的变化,如图8.7所示。 图8.6 ADC转换时段 图8-7 ADC模块的时钟预定标

  17. 8.4 ADC工作模式 1、校准模式 LF240x DSP具有校准模式,CALIBRATION寄存器可用,而LF240xA DSP没有标定和自测试特性,CALIBRATION寄存器不可用。 校准模式下可以计算ADC模块的零、中值和最大值的偏置误差。该偏置误差的二进制补码被载入CALBRATION寄存器后,ADC硬件自动将偏置误差加到转换值上。 CALBRATION寄存器存放该模式下的最后结果。 2、自测试模式 自测试模式用来检测ADC引脚的短路/开路。该模式下,采样周期为正常模式的两倍。采样周期的前半部分,除了用户提供的模拟输入信号外,VREFHI或者VREFLO被接到ADC转换器的输入;采样周期的后半部分,只有用户提供的信号被接到ADC转换器的输入。 自测试模式只能用来检测短路或开路,在正常工作模式下不能使用。

  18. 8.5 ADC模块的寄存器 ADC控制寄存器1(ADCTRL1)——70A0h 位15保留 位14复位位。该位引起一个对整个ADC模块的主动复位,所有寄存器和排序器指针都复位到初始状态。 0:无影响 1:复位整个ADC模块 位13-12SOFT位和FREE位。决定仿真悬挂时ADC模块的工作情况。 00:一旦仿真悬挂,ADC模块立即停止 10:仿真悬挂时,ADC模块完成当前转换后停止 x1:自由运行,继续运行而不管仿真悬挂 位11-8采样时间选择位ACQPS3-ACQPS0。决定ADC时钟的预定标系 数,详见表8.7(p178) 位7CPS,转换时钟预定标位。决定ADC转换逻辑时钟的预定标。 0:FLCK=CLK/1 1: FLCK=CLK/2

  19. 8.5 ADC模块的寄存器 位6连续转换位CONT RUN。决定排序器工作在连续转换模式或启动/停止模式 0:启动/停止模式; 1:连续转换模式 位5ADC中断请求优先级位INT PRI。 0:高优先级; 1:低优先级。 位4S级连排序器工作方式位SEQ ACSC。 0:双排序器工作模式。SEQ1和SEQ2最多可选择8个转换通道的排序器。 1:级连模式。 SEQ1和SEQ2级连起来作为一个最多可选择8个转换通道的排序器SEQ。 位3偏差校准使能位CAL ENA。 0:禁止校准模式; 1:使能校准模式。 位2CPS桥使能位BRG ENA。见表8.8 0:满的参考电压被接到ADC输入 1:参考的中点电压被接到ADC输入 位1VREFHI和VREFLO选择位HI/LO。见表8.8 0: 用VREFHI作为ADC输入 1:用VREFLO作为ADC输入 位0V自测试使能位STEST ENA。 0: 禁止自测试模式; 1:使能自测试模式;

  20. 8.5 ADC模块的寄存器 ADC控制寄存器2(ADCTRL2)——70A1h 位15 EVB SOC SEQ。EVB的SOC信号为级连排序器使能位。 0:不起作用 1:允许级连的排序器SEQ被事件管理器B的信号启动 位14RST SEQ1/STRT CAL。复位排序器1/启动校准转换方式位。 在校准转换方式被禁止的情况下: 0:不起作用; 1:立即复位排序器使排序器指针指到CONV00 在校准转换方式被禁止的情况下: 0:不起作用; 1:启动校准转换方式 位13SOC SEQ1。启动SERQ1转换位。 0:清除一个悬挂的SOC请求 1:软件触发启动SOC请求 位12SEQ1 BSY.SEQ1忙状态位。 0:SEQ1处于空闲状态 1:SEQ1处于忙状态,一个转换序列正在进行

  21. 8.5 ADC模块的寄存器 位11-10对SEQ1的中断方式使能控制位。 位9ADC中断请求优先级位INT PRI。INT FLAG SEQ1位。ADC模块SEQ1的中断标志位。 0:无中断事件发生; 1:发生过中断事件。 位8EVA SOC SEQ1位。事件管理器A对SEQ1产生SOC信号的屏蔽位。 0: SEQ1不能被EVA的触发源启动; 1:允许SEQ1/SEQ被EVA的触发源启动。 位7EXT SOC SEQ1位。外部信号对SEQ1的启动转换位。 0: 不起作用; 1:允许一个来自ADCSOC引脚上信号启动ADC自动转换序列。

  22. 8.5 ADC模块的寄存器 位6 RST SEQ2。复位排序器2。 0: 不起作用; 1:立即复位排序器使排序器指针指到CONV00。 位5SOC SEQ2。启动SEQ2转换位(仅适用于双排序器模式)。 0:清除一个悬挂的SOC请求; 1:软件触发启动SEQ2。 位4SEQ2 BSY。SEQ2忙状态位。 0: SEQ2处于空闲状态; 1: SEQ2处于忙状态,一个转换序列正在进行。 位3-2对SEQ2的中断方式使能控制位。 位1INT FLAG SEQ2位。ADC模块SEQ2的中断标志位。 0:无中断事件发生; 1:发生过中断事件。 位0EVA SOC SEQ2位。事件管理器A对SEQ2产生SOC信号的屏蔽位。 0: SEQ2不能被EVB的触发源启动; 1:允许SEQ2被EVB的触发源启动。

  23. 8.5 ADC模块的寄存器 最大转换通道寄存器(MAXCONV)——70A2h 位15-7保留 位6-0MAX CONVn位域。决定一次自动转换最多转换的通道个数。该位域及其操作随排序器工作模式的变化而变化。 自动排序状态寄存器(AUTO_SEQ_SR)——70A7h 位15-12保留 位11-8SEQ CNTR3~SEQ CNTR0。排序计数器状态位。 位7 保留 位6-4SEQ2-State2~ SEQ2-State0。反映SEQ2排序器指针的状态。用户可根据这几位的值,在结束转换信号EOS到来之前读取中间结果。 位3-0SEQ1-State3~ SEQ1-State0。反映SEQ1排序器指针的状态。用户可根据这几位的值,在结束转换信号EOS到来之前读取中间结果。

  24. 8.5 ADC模块的寄存器 ADC输入通道选择排序控制寄存器(CHSELSEQn)——70A3h~70A6h ADC转换结果缓冲寄存器(RESULTn)——70A8h~70B7h

  25. 8.6 ADC转换时钟周期 ADC转换周期可以分为5个阶段: 排序启动的同步时间(SOS同步),SOS同步时间仅在转换序列的第一个转换中有。 采样时间(ACQ)。 转换时间(CONV)。 转换结束时间(EOC)。ACQ、CONV和EOC时间在一个序列的每个转换中都有。 序列转换结束标志设置时间(EOS),EOS仅用于一个序列的最后一个转换。 ADC各转换阶段所需CLKOUT周期个数见表8.14(p185)。

More Related