第10章AD转换模块

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
最多可选择8个自动转换通道双排序器工作方式和最 多可选择16个自动转换通道单排序器工作方式的操作 大致相同。
描述排序器的规定
排序器1(SEQ1): CONV00~CONV07; 排序器2(SEQ2): CONV08~CONV15; 级连排序器(SEQ): CONV00~CONV15。
10.2.1 连续的自动排序模式
(SEQ1)
(SEQ2)
(SEQ)
EVA、软件和外部 引脚
百度文库EVB和软件
EVA、EVB、软件 和外部引脚
最大自动转换通道数
(如:排序器长度)
8
8
16
序列转换完成后 自动停止



触发优先权


不适用
A/D转换结果寄存器
0-7
8-15
0~15
排序控制器位分配 (CHSELSEQn)
CONV00~ CONV07
事件管理器A(EVA)启动排序器
①一旦复位和初始化之后,SEQ1就开始等待触发源 的到来。
②第 一 个 触 发 源 到 来 之 后 , 执 行 通 道 选 择 值 为 CONV00 ( I1 ) 、 CONV01 ( I2 ) 和 CONV02 ( I3 ) 的3个转换。
③转换完成之后,SEQ1等待另一个触发源的到来。
A/D转换时间
A/D转换可被分成两个时间段 。
说明
I. 如果ACQ PS3~ACQ PS0位段域的值全为0,即 预定标器的值为1;
II. CPS为0时,PS时钟将和CPU时钟一样。 III.对于预定标器的任何其它值,PS都会增加采样/
保持窗口的时间。 IV.如果CPS为1,则S/H窗口长度为原来的2倍。
ADC结果缓冲区 I1 I2 I3 V1 V2 V3
说明
I. 在两种触发源的情况下,MAX CONV1的值被自 动装入SEQ CNTR1中。
II. 如果第二个触发源要求转换的个数和第一个不一 样,用户必须在第二个触发源来到之前,通过软 件改变MAX CONV1 的值;否则ADC模块将重新 使用原来的MAX CONV1中的值。
如果位CONT RUN为1,则转换自动重新开始(即 SEQ CNTRn装入最初的MAX CONV1的值,SEQ1 的通道指针指向CONV00)。
在SEQ CNTRn每次到达0时,中断标志位被置为1,需要时用 户 可 以 在 中 断 服 务 子 程 序 中 用 ADCTRL2 寄 存 器 中 的 RST SEQn位将排序器手动复位。 复位之后,在下一个A/D启动信号来到时SEQ CNTR装入 MAX CONVn中的原始值,且SEQ1指针指向CONV00。
2.如果一个新的启动触发信号来到时,当前转换序 列正在进行,则将ADCTRL2寄存器中的SOC SEQn 位置1(该位在前一个转换开始时被清0)。 但,如果此时SOC SEQn位已经为1,则该启动触发 信号丢失。
3.一旦被触发后,不能在转换中途停止或中断排序 器。 除非,程序等到了一个序列的停止信号或者对排序器 进行了复位。 复位使排序器立即返回到空闲的起始状态(SEQ1和 级连的排序器指针指到CONV00,SEQ2的排序器指针 指到CONV08)。
第10章 A/D转换模块
10.1 A/D转换模块概述
F2407的A/D模数转换模块(ADC) :
1. 带内置采样和保持(S/H)的10位ADC。 2. 16个的模拟输入通道(ADCIN0~ADCIN15)。 3. 两个独立的排序器(SEQ1和SEQ2。 4. 可 单 独 访 问 的 16 个 结 果 寄 存 器 ( RESULT0 ~
注意:在每次SEQ CNTR到0时将中断标志位置1,即在ADC转 换完I1、I2和I3或者V1、V2和V3之后中断标志位置1。 但是只有转换完V1、V2和V3之后才产生中断。
Case 3 : 两 个 序 列 的 采 样 个 数 相 等 ( 带 虚 读)。
使用中断方式2:每隔一个EOS信号,产生一次中断请 求。 (1)排序器设置MAX CONVn=2以转换I1、I2和x。 (2)在中断服务子程序b或d完成以下操作: .I1、I2、x、V1、V2和V3的值从ADC结果寄存器中读 出; .复位排序器。 (3)重复第(2)步和第(3)步。
说明
用户可以对同一个通道进行多次采样,即对某一通 道实行“过采样”,这样得到的采样结果比传统的 采样结果分辨率高。
级连工作方式下自动排序ADC的结构框图
双排序器工作方式下自动排序的ADC的结构框图
双排序器和单排序器工作比较
特征参数 开始转换触发方式
单8通道排序器1 单8通道排序器2 16通道级连排序器
III.用户可以在第一个触发源引起的转换完成之后的 中断复位程序中改变MAX CONV1的值,为第二 个触发源引起的转换个数作准备。
10.2.3 输入触发源
排序器1(SEQ1)
软件触发 事件管理器A (EVA SOC)触发
排序器2(SEQ2)
软件触发 事件管理器B (EVB SOC)触发
级连排序器 (SEQ)
一样。
使用中断方式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)步。
4.当SEQ1/2工作在级连方式下,到SEQ2的触发源被 忽略,而到SEQ1的触发源仍然有效。 级连方式可视为SEQ1有16个转换通道而非8个转换通 道。
10.2.4 在排序转换时的中断操作
排序器可以在两种工作方式下产生中断, 工作方式方式由ADCTRL2寄存器中的中断模式控 制位决定。
Case 1:第一个序列和第二个序列中采样的个数不
注意:第3个x采样为一个假采样,并没有要求采样。 但为了使中断服务子程序的开销和CPU的干扰最小, 可以利用中断方式2的中断请求特性。
10.3 ADC时钟预定标
通过改变ADCTR1寄存器中的ACQ PS3-ACQ PS0位 段域和CPS位,调整F240xA器件ADC的采样/保持模 块来适应信号阻抗的变化。
说明 1. 在校准方式下,ADCINn引脚未接A/D 转换器,因此
要求: 触发源1(定时器下溢)启动3个自动转换(I1、I2 和I3); 触发源2(定时器周期)启动3个自动转换(V1、V2 和V3)。 触发源1和触发源2在时间上是分开的,即间隔25μS。
注:触发源1和2可以是来自事件管理器EVA,外部引 脚或软件的SOC信号。
MAX CONV1的值置为2。 ADC模块的输入通道选择排序控制寄存器
一次自动排序完成的转换数为MAX CONVn+1。
例1: 在双排序器模式下用SEQ1进行A/D转换。 设:用SEQ1完成7个通道的转换 排序自动转换:通道2、3、2、3、6、7、12。 MAX CONV1的值设为6
CHESELQn寄存器填入值
表中数值为十进制,x为不关心的值。
初始化ADC寄存器

④25μS之后另一个触发源到来,ADC模块开始执行另 外 3 个 通 道 选 择 值 为 CONV03 ( V1 ) 、 CONV04 (V2)和CONV05(V3)的转换。
在第二个转换序列完成之后, ADC模块的结果寄存器中得到的值
缓冲寄存器 结果寄存器0(RESULT0) 结果寄存器1(RESULT1) 结果寄存器2(RESULT2) 结果寄存器3(RESULT3) 结果寄存器4(RESULT4) 结果寄存器5(RESULT5)
INT FLAG SEQn=1
A/D
ADC转换结束
说明
用户必须保证在下一个转换序列开始之前,读取 结果寄存器的值。 在ADC模块企图向结果寄存器写入数据,而用户 却企图从结果寄存器中读取数时,ADC模块的仲 裁逻辑保证在发生这种冲突时不会崩溃。
注意
SEQ CNTR为0后:
如果位CONT RUN为0,则排序器指针停留在最后状 态;

来启动ADC信号

SOC

MAXCONV的值装入到

AUTO_SEQ_SR寄存器中


启动ADC,每转换完一次 AUTO_SEQ_SR寄存器中的值自动减1


当前转换完成
转换结果存放到相应的RESULTn寄存器中

No




全部通道转换完成? 即AUTO_SEQ_SR=0?
Yes 设置ADC中断标志位
注意:在每次SEQ CNTR到0时将中断标志位置1,且 产生两次中断。
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)步。
CONV08~ CONV15
CONV00~ CONV15
注意
在双排序器模式下,来自“未被激活”的排序器的 A/D启动请求将在“被激活”的排序器完成采样之后 自动开始执行。
即 , 假 设 A/D 转 换 正 在 忙 于 处 理 SEQ2 的 操 作 , 当 SEQ1启动一个SOC信号后,A/D转换器在完成SEQ2 的操作之后立即开始响应SEQ1的请求。
软件触发
事件管理器A (EVA SOC)触发
外部引脚 (ADC SOC)触发
事件管理器B (EVB SOC)触发
外部引脚 (ADC SOC)触发
注:
1.排序器处于空闲状态:在接收到一个触发源之前, 排序器指针指到CONV00或者排序器已经完成一个 转换序列(即SEQ CNTR为0)。 无论何时,只要一个排序器处在空闲状态,一个启 动信号触发就可以启动一个自动转换序列。
1. SEQ1/SEQ2在一次排序过程中对8个通道进行任意 排序转换;
2. 每次转换结果保存到8个结果寄存器, SEQ1的结 果寄存器为RESULT0~RESULT7,SEQ2的结果 寄存器为RESULT8~RESULT15。
① 排序中的转换个数受MAX CONVn(MAXCONV寄 存器中的一个3位段域或4位段域)控制;
② MAX CONVn段域的值在0~ 7范围变化。 ③ MAX CONVn在自动排序的转换开始时,被装载到
自 动 排 序 状 态 寄 存 器 ( AUTO_SEQ_SR ) 的 排 序 计 数器段域(SEQ CNTR3~0)。 ④ 当 排 序 器 从 通 道 CONV00 开 始 有 顺 序 的 转 换 时 , SEQ CNTRn段域的值从装载值开始向下计数直到 SEQ CNTRn为0。
在这两种工作方式下,ADC模块都能够序列转换并 进行自动排序。
注:在DSP中只有一个A/D变换器,这个变换器由双 排序器工作模式下的两个排序器共享。
排序
通过模拟输入通道的多路选择器来选择要转换的通 道。
转换结束后,转换后的数值结果保存在该通道相应 的结果寄存器(RESULTn)中。
即第0通道的转换结果保存在RESULT0中,第1通道 的转换结果保存在RESULT1中,依此类推。
RESULT15)。
注意:F240xA器件的ADC模块和F24x器件的ADC模 块不兼容,ADC的程序代码不能相互移植。
10.2 自动排序器的工作原理
ADC的排序器:包括两个独立的最多可选择8个模拟转 换通道的排序器(SEQ1和SEQ2)。
这两个排序器可级连成一个可选择16个转换模拟通道 的排序器(SEQ)。
即,原来的S/H窗口再加上被预定标器拉长的倍 数才是最后的PS。
注意: 在CPS为0时,PS和ACLK将和CPU时钟相等。
10.4 校准模式
校准模式:计算ADC模块的零点、中点和最大值时的 偏移误差。
偏移误差为二进制补码,保存在校准寄存器中(二 进制补码操作只适用于误差值为负的情况)。
ADC硬件自动将偏移误差量加到转换值上。
10.2.2 排序器的启动/停止模式
可实现在时间上单独和多个启动信号触发源同步的 功能。 CONT RUN位必须设置为0。
在排序器完成第一个转换序列之后,不需要在中断服 务程序中复位,即排序器初始指针不需要指到 CONV00就可以被重新触发。 因此,一个转换序列之后,排序器指针指到当前的通 道。
例2 排序器工作在启动/停止方式
相关文档
最新文档