kl800.com省心范文网

第8章%20模数转换ADC模块


第8章 模数转换(ADC)模块
8.1 ADC模块的特性 (1)10bit ADC内核,带有内置采样-保持电路。 (2)375ns的转换时间。 (3)16个模拟输入通道。 (4)对16路模拟量进行“自动排序”。 (5)2个独立的8状态排序器(SEQ1和SEQ2)-双排 序器,或级联为16个状态排序器模式(SEQ)-单 排序器。 (6)在给定的排序模式下,4个排序控制器 (CHSELSEQn)决定模拟通道的转换顺序。

(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模块的寄存器 地址 70A0h 70A1h 70A2h 70A3h 70A4h 70A5h 70A6h 70A7h 寄存器 ADCTRL1 ADCTRL2 MAXCONV CHSELSEQ1 CHSELSEQ2 CHSELSEQ3 CHSELSEQ4 AUTO_SEQ_SR 名称 ADC控制寄存器1 ADC控制寄存器2 最大转换通道寄存器 通道选择排序控制寄存器1 通道选择排序控制寄存器2 通道选择排序控制寄存器3 通道选择排序控制寄存器4 自动排序状态寄存器

地址

寄存器

名称

70A8h?70B7h 70B8h

RESULT0?RESULT15 转换结果寄存器0?15 CALIBRATION 校准寄存器

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

图8-1 单排序器模式下ADC的原理框图

图8-2 双排序器模式 下ADC的原理框图

为讲解方便,规定排序器的状态如下: 排序器SEQ1:CONV00-CON07 排序器SEQ2:CONV08-CON15 排序器SEQ: CONV00-CON15 转换触发特性: SEQ1:软件、EVA、外部引脚,优先级高于SEQ2 SEQ2:软件、EVB,优先级低于SEQ1 SEQ: 软件、EVA、EVB、外部引脚,无仲裁优先级

为每个排序所选的模拟输入通道由排序控制寄存器 (CHSELSEQn)的CONVnn位域(4位长)所定义,可指 定16通道中的任何一个。 8.2.2 不中断的自动排序的模式 此模式,SEQ1/SEQ2在一次排序过程中,可对8个转换 通道进行自动排序。转换结果被保存到8个结果寄存 器(SEQ1为RESULT0-RESULT7,SEQ2为RESULT8RESULT15)。

在一个排序中的转换个数受寄存器MAX CONV中的一个 3位域或4位域MAX CONVn控制。它的值在自动排序 转换开始时被自动装载到自动排序状态寄存器( AUTO_SEQ_SR)的排序计数器SEQCNTRn。 MAX CONVn位域的值在0?7之间,排序器从状态CONV00 开始转换,SEQ CNTRn位域从装载值开始向下计数 ,直到SEQ CNTRn为0。

一次自动排序中完成的转换数为MAX CONVn +1。 例8.1 利用SEQ1进行A/D转换 假设SEQ1要完成7个通道的转换(通道2、3、2、3、6 、7和12需要进行自动排序转换),则MAX CONV1的值 应该设置为6,且CHSELSEQn寄存器的设置如下:
70A3h 70A4h 70A5h 70A6h 位15-12 3 x x x 位11-8 2 12 x x 位7-4 3 7 x x 位3-0 2 6 x x CHSELSEQ1 CHSELSEQ2 CHSELSEQ3 CHSELSEQ4

不中断的自动排序模式流程图如图8-3所示。

初始化ADC寄存器 转换启动(SOC)触发信号到达 MAX CONVn值装载到AUTO_SEQ_SR寄存器中

转换开始,每次转换后SEQ CNTRn值减1

当前转换结束后,数字结果写入对应的RESULTn寄存器

N

所有通道转换完成? (SEQ CNTRn=0?) Y 设置INT FLAG SEQn 结束

图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)。

在这种情况下,必须确保在下一次转换排序之前读 取结果寄存器。 在ADC模块向结果寄存器写入数据而用户却想从结果 寄存器读取数据时,ADC的仲裁逻辑确保结果寄 存器不会崩溃。 (2)如果CONT RUN位=0,则排序会停留在过去的状态 (例如CONV06),并且SEQ CNTRn继续保持0值。

因为每次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(定时器周期)启动3 个自动转换(例如V1、V2、V3)。两个触发信号在时间 上是分开的,时间间隔为25微秒,并且由事件管理器A 提供,如图8-4所示。本实例只用了SEQ1。 注意:触发信号1和2可以是事件管理器A(EVA)的转换 启动(SOC)信号、外部引脚或软件。相同的触发信号 要产生两次,以满足本例双触发器的要求。

图8-4 事件管理器A启动排序器的例子

在这种情况下,MAX CONV1的值被设置为2,输入通道选 择排序控制寄存器(CHSELSEQn)的设置见表8-4。 表8-4 例8.2中CHSELSEQn寄存器设置
位15-12 70A3h V1 70A4h x 70A5h x 70A6h x 位11-8 I3 x x x 位7-4 I2 V3 x x 位3-0 I1 V2 x x CHSELSEQ1 CHSELSEQ2 CHSELSEQ3 CHSELSEQ4

复位和初始化之后,SEQ1等待触发信号。第一个触发 信号到来之后,执行CONV00(I1)、CONV01(I2)和 CONV02(I3)这3个转换,然后,SEQ1在当前状态等待 另一个触发信号。当第二个触发信号到来时,ADC模块

开始另外3个转换,分别为CONV03(V1)、CONV04(V2)和 CONV05(V3)。 在这两种触发情况下,MAX CONV1的值被自动装入到SEQ CNTVn中。如果第二个触发信号到来时,要求转换的 数目和第一个触发时不一样,则用户必须在第二个 触发信号到来之前通过软件改变MAX CONV1的值,否 则ADC将重新使用原来的MAX CONV1的值。 在两个自动转换完成后,ADC的结果寄存器的值如表 8-5所示。

表8-5 例8.2中ADC结果寄存器的值 缓冲寄存器 ADC的结果 RESULT0 I1 RESULT1 I2 RESULT2 I3 RESULT3 V1 RESULT4 V2 RESULT5 V3 RESULT6-RESULT15 X

8.2.4 输入触发器描述
每一个排序器都有一组能被使能或禁止的触发源。 SEQ1、SEQ2和SEQ的有效输入触发源见表8-6。 表8-6 SEQ1、SEQ2和SEQ的有效输入触发源
SEQ1 软件触发 事件管理器A 外部SOC引脚 SEQ2 软件触发 事件管理器B SEQ 软件触发 事件管理器A 事件管理器B 外部SOC引脚

8.2.5 排序转换期间的中断操作 排序器在转换期间有两种中断方式。 第一种中断方式是在每次EOS(转换结束)到来 时产生中断请求。 第二种中断方式是每隔一个EOS(转换结束)信 号产生中断请求。

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

图8-6

ADC转换时段

除以 2 除以 (1~16)

A/D转换

图8-7 ADC模块的时钟预定标

8.4 ADC校准 LF240x DSP具有校准模式,CALIBRATION寄存器可 用,而LF240xA DSP没有标定和自测试特性, CALIBRATION寄存器不可用。

校准模式下可以计算ADC模块的零、中值和最大值的 偏置误差。该偏置误差的二进制补码被载入 CALBRATION寄存器后,ADC硬件自动将偏置误差加 到转换值上。

8.5 ADC控制寄存器(略) 8.6 ADC转换时间 ADC转换周期可以分为5个阶段: (1)排序启动的同步时间(SOS同步),SOS同步时 间仅在转换序列的第一个转换中有。 (2)采样时间(ACQ)。 (3)转换时间(CONV)。 (4)转换结束时间(EOC)。ACQ、CONV和EOC时间在 一个序列的每个转换中都有。 (5)序列转换结束标志设置时间(EOS),EOS仅用 于一个序列的最后一个转换。 ADC各转换阶段所需CLKOUT周期个数见表8-15。

表8-15 转换阶段 SOS同步 ACQ CONV EOC EOS

ADC各转换阶段所需CLKOUT周期个数 CLKOUT周期 (CPS=0) 2 2(注2) 10 1 1 CLKOUT周期 (CPS=1) 2或3(注1) 4(注2) 20 2 1


赞助商链接

ADC0809_模数转换

使用ADC0809 模数转换器,ADC0809 是8 通道8 位CMOS 逐次逼近式A/D 转换芯片...接入+5V ,单片机最小应用系统的RXD、TXD 连接到串行静态显示实验模块的DIN、CLK...

AVR单片机模数转换ADC过程_图文

ADC: 模数转换,将模拟电压转换为数字。 ATmega16 有一个 10 位精度的 ADC 转换器,具有 8 路外部模拟输入端,与 PORTA 口复 用。使能 AD 转换功能后就不能...

DSP模数转换实验报告

DSP 模数转换实验报告 姓名: XX 专业:电子与通信工程 学号:XXXXXX 导师: XX ...2.模数模块介绍 ADC 模块有 16 个通道,可配置为两个独立的 8 通道模块以...

基于51单片机和ADC0809多通道模数转换的设计与实现

20 武汉理工大学《能力拓展训练报告》课程设计说明书...还包括 A/D 模数转换模块, LCD1602 显示模块部分...ADC0809、LCD1602;软件部分实现单片机对 8 路输入...

实验六ADC模数转换实验

17页 20财富值 AVR单片机模数转换ADC实... 14页 5财富值 ...5、打开模块电源和总电源,点击开始调试按钮、点击 Run 按钮运行程序,8 位 LED...

MSP430F149的模数转换模块ADC12

MSP430F149的模数转换模块ADC12_电子/电路_工程科技_专业资料。12-Bit ADC ...第8章模数转换ADC模块 28页 免费 第9章模数转换ADC模块 23页 1下载券 第...

第8章 TMS320LF2407模数转换模块

第8章 TMS320LF2407模数转换模块 - 第 8 章 模数转换模块(ADC) 8.8 ADC 转换应用举例 .include .def ;(1)建立中断向量表 .sect .vector...

ADC12 模数转换器

MSP430 模数转换模块--ADC12 MSP430 单片机的 ADC12 模块是一个 12 位精度的 A/D 转换模块,他具有高速度,通用性等特点。大部分都 内置了 ADC 模块.而有些...

ADC0809模数转换器的使用详解程序

ADC0809 模数转换器的使用详解与程序带我们的王老师...{ TMOD=0x20; TH1=0x216; TL1=0x216; EA=1;...通道:有的单芯片内部含有多个 A/D、D/A 模块,...

ADC0809模数转换_图文

ADC0809模数转换_工程科技_专业资料。ADC0809 模数转换 1. 实验目的与效果:模数转换在信号采集中占有很重要的地位。本实验采用经典 8 位 AD――ADC080 做 一个...