《数据结构域算法设计-第8章模数转换ADC模块 课件》由会员分享,可在线阅读,更多相关《数据结构域算法设计-第8章模数转换ADC模块 课件(27页珍藏版)》请在金锄头文库上搜索。
1、1,8.1 ADC模块简介 (1)10bit,内有采样-保持电路。 (2)375ns的转换时间。 (3)16个模拟输入通道。 (4)对16路模拟量进行“自动排序”。 (5)2个独立的双8状态排序器(SEQ1和SEQ2),或级联为单16状态排序器模式(SEQ) (6)在给定的排序模式下,4个排序控制器(CHSELSEQn)决定模拟通道的转换顺序。,2,(7)EVA和EVB可分别独立地触发SEQ1和SEQ2(仅用于双排序器模式) (8)采样/保持时间有单独的预定标控制。 (9)LF240x/240xA DSP的ADC模块与24x的ADC模块不兼容。例如:2407A与240的ADC模块不兼容。ADC
2、模块的寄存器如表8-1所示:,3,表8-1 ADC模块的寄存器地址 寄存器 名称70A0h ADCTRL1 ADC控制寄存器170A1h ADCTRL2 ADC控制寄存器270A2h MAXCONV 最大转换通道寄存器70A3h CHSELSEQ1 通道选择排序控制寄存器1 70A4h CHSELSEQ2 通道选择排序控制寄存器2 70A5h CHSELSEQ3 通道选择排序控制寄存器3 70A6h CHSELSEQ4 通道选择排序控制寄存器4 70A7h AUTO_SEQ_SR 自动排序状态寄存器70A8h70B7h RESULT0RESULT15 16个转换结果寄存器70B8h CALIB
3、RATION 校准寄存器,4,8.2 ADC模块概述 8.2.1 自动排序器工作原理 2个8状态排序器SEQ1和SEQ2,或级联成一个16状态排序器SEQ。状态:排序器可执行的自动转换数目。 ADC模块能对一系列的转换进行排序。转换结束后,结果依次保存在RESULT0、RESULT1中。 也可对同一通道进行多次采样,即“过采样”,比传统的单采样结果分辨率高。 单排序器模式如图8-1所示。 双排序器模式如图8-2所示。,5,图8-1 单排序器模式下ADC 的原理,6,图8-2 双排序器模式下ADC的原理框图,7,规定的排序器状态如下: 排序器SEQ1:CONV00-CON07 排序器SEQ2:C
4、ONV08-CON15 排序器SEQ :CONV00-CON15 转换触发特性: SEQ1:软件、EVA、外部引脚,优先级高于SEQ2 SEQ2:软件、EVB,优先级低于SEQ1 SEQ: 软件、EVA、EVB、外部引脚(无仲裁优先级),8,模拟输入通道由:排序控制寄存器(CHSELSEQn)的CONVnn 中各个4位域定义,可指定16通道中的任何一个。8.2.2 不中断的自动排序的模式 此模式,SEQ1/SEQ2在一次排序过程中,可对8个转换通道进行自动排序。转换结果被保存到8个结果寄存器:SEQ1为:RESULT00-RESULT07SEQ2为:RESULT08-RESULT15。,9,在
5、一个排序中的转换通道个数受寄存器MAX CONV中的一个3位域或4位域MAX CONVn控制。 排序值在自动排序转换开始时被自动装载到自动排序状态寄存器(AUTO_SEQ_SR)中的排序计数器SEQCNTRn。MAX CONVn位域的值在07之间,排序器从状态CONV00开始转换,SEQCNTRn位域从装载值开始减计数,直到SEQ CNTRn为0。一次自动排序中完成的转换数为MAX CONVn +1。,10,例8-1 利用SEQ1进行A/D转换 假设SEQ1要完成7个通道的转换(通道2、3、2、3、6、7、12需自动排序转换),则MAX CONV1的值应该设置为6,且CHSELSEQn寄存器的
6、设置如下:位15-12 位11-8 位7-4 位3-0 70A3h 3 2 3 2 CHSELSEQ1 70A4h x 12 7 6 CHSELSEQ2 70A5h x x x x CHSELSEQ3 70A6h x x x x CHSELSEQ4不中断的自动排序模式流程图如图8-3所示。,11,12,一旦转换启动(SOC)触发信号被排序器收到后,转换立即开始,转换的通道数载入SEQ CNTRn位域,按照CHSELSEQn寄存器指定的通道顺序进行转换。每个通道转换结束后,SEQ CNTRn自动减1,当SEQ CNTRn达到0时,将根据ADCTRL1寄存器的连续运行位(CONT RUN) 状态,
7、发生以下事情: (1)如果CONT RUN位1,转换排序自动再次启动 (即 SEQ CNTRn重载MAX CONV1中的初始值,且SEQ1状态被置于CONV00)。,13,在这种情况下,必须确保在下一次转换排序前读取结果寄存器。 如果用户向ADC模块结果寄存器写入数据,却又想从结果寄存器读取数据时,ADC仲裁逻辑能确保不会冲突。(2)如果CONT RUN位0,则排序会停留在过去的状态(例如CONV06),并且SEQ CNTRn继续保持0值。,14,每次SEQ CNTRn达到0时,中断标志会被置1。 如果需要,用户可使用ADCTRL2寄存器的RST SEQn位,在中断服务程序中复位排序器,以便下
8、一次转换启动时,SEQ CNTRn可以重载MAX CONV1的初始值,且SEQ1状态被设置为CONV00。 这一特性在排序器的启动/停止操作中很有用。,15,8.2.3 排序器的启动/停止模式 除不中断的自动排序模式外,任一排序器都可工作在启动/停止模式。 此模式,可实现多个启动转换触发在时间上同步。这种模式和上例基本相同,但是排序器完成一个转换序列之后,可以在没有复位到初始状态CONV00情况下,被重新触发。因此当一个转换排序结束后,排序器停留在当前的转换状态。 在这种方式下,ADCTRL1寄存器的连续运行位必须设置为禁止(写入0)。,16,例8-2 排序器的启动/停止操作 使用触发信号1(
9、定时器下溢)启动3个自动转换(例如I1、I2、I3),触发信号2(定时器周期)启动3个自动转换(例如V1、V2、V3)。两个触发信号在时间上是分开的,时间间隔为25微秒,并且由事件管理器A提供,如图8-4所示。本例只用了SEQ1。 注意:触发信号1和2可以是事件管理器A(EVA)的转换启动(SOC)信号、外部引脚或软件。相同的触发信号要产生两次,以满足本例双触发器的要求。,17,18,在这种情况下,MAX CONV1的值被设置为2,输入通道选 择排序控制寄存器(CHSELSEQn)的设置见表8-4。表8-4 例8.2中CHSELSEQn寄存器设置 位15-12 位11-8 位7-4 位3-0
10、70A3h V1 I3 I2 I1 CHSELSEQ1 70A4h x x V3 V2 CHSELSEQ2 70A5h x x x x CHSELSEQ3 70A6h x x x x CHSELSEQ4复位和初始化之后,SEQ1等待触发信号。第一个触发信号到来后,执行I1、I2和I3这3个转换,然后,SEQ1在当,19,前状态等待另一个触发信号。当第二个触发信号到来时, ADC 开始另外3个转换,分别为V1、V2和V3。在这两种触发情况 下,MAX CONV1的值被自动装入到SEQ CNTVn中。 如果第二个触发信号到来时,要求转换的数目和第一个触发时 不一样,则用户必须在第二个触发信号到来之
11、前通过软件改变MAX CONV1的值,否则ADC将重新使用原来的MAX CONV1的值。 在两个自动转换完成后,ADC的结果寄存器的值如表8-5所示。,20,表8-5 例8.2中ADC结果寄存器的值缓冲寄存器 ADC的结果RESULT0 I1 RESULT1 I2RESULT2 I3RESULT3 V1RESULT4 V2RESULT5 V3RESULT6-RESULT15 X,21,8.2.4 输入触发器描述 每一个排序器都有一组能被使能或禁止的触发源。SEQ1、SEQ2和SEQ的有效输入触发源见表8-6。表8-6 SEQ1、SEQ2和SEQ的有效输入触发源,22,8.2.5 排序转换期间的
12、中断操作 排序器在转换期间有两种中断方式。 第一种是在每次EOS(转换结束)到来时产生中断请求。 第二种是每隔一个EOS信号产生中断请求。,23,8.3 ADC时钟预定标 转换过程分为两个时段:采样/保持时段,转换时段,如图8-6所示。采样/保持(S/H)时间可以调节,以适应输入信号阻抗的变化,如图8-7所示。,图8-6 ADC转换时段,24,25,8.4 ADC校准LF2407 DSP具有校准模式,CALIBRATION寄存器可用, 其他的LF240xA DSP则没有该寄存器。校准模式下可以计算ADC模块的零、中值和最大值的偏置误差。该偏置误差的二进制补码被载入CALBRATION寄存器后,ADC硬件自动将偏置误差加到转换值上。,26,8.5 ADC控制寄存器(略) 8.6 ADC转换时间 ADC转换周期可以分为5个阶段: (1)排序启动的同步时间(SOS同步) (2)采样时间(ACQ) (3)转换时间(CONV) (4)转换结束时间(EOC)。ACQ、CONV和EOC时间在一个序列的每个转换中都有。 (5)序列转换结束标志设置时间(EOS),EOS仅用于一个 序列的最后一个转换。,27,ADC各转换阶段所需CLKOUT周期个数见表8-15。,表8-15 ADC各转换阶段所需CLKOUT周期个数,