汽车电子网关-XC2000及XE166家族ADC模块浅解应用攻略

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 简介

1.1 概述

本应用笔记提供了一些关于XC2000/XE166家族16位微控制器的模拟数字转换模块(ADC)的主要功能单元的详细信息。本应用笔记将结合一个能给模块的使用很好启示的例子来讨论ADC模块的功能描述和配置选项。

1.2 背景

为了满足应用程序的实时要求,能减轻CPU负载的自主ADC模块是必需的。XC2000/XE166家族的微控制器提供了一个最适合汽车和工业应用的需求的专门的ADC模块。此ADC模块利用自身专有的硬件电路自主工作,从而减少CPU负载。因此,CPU可以用于其它主要的任务。

ADC 模块包含两个独立的内核(ADC0、ADC1),它们可独自工作、也可同步工作。ADC 内核用于进行模数转换,并提供多种触发转换、数据处理和结果保存的方式。有了这个结构,便可支持高达两个模拟输入通道的并行转换。

1.3 ADC模块的特点

XC2000/XE166系列微控制器包括16路多路模拟输入的10位模拟- 数字转换通道。该ADC模块采用逐次逼近技术以8个不同的电源来转换模拟电压。

ADC模块的特点包括:

∙3个转换请求源,可选外部事件或定时器事件触发,自动扫描,可编程序列及软件触发等转换方式。

∙两个ADC 内核可同步工作,用于同时开始转换、对模拟输入信号并行采样和测量(如用于测量AC 驱动器的相电流)。

∙外部模拟复用器的控制功能,考虑附加的建立时间和扫描支持。

∙采样时间可调整,从而可和不同模拟信号源(传感器等)的输出阻抗匹配。

∙可取消正在执行的转换、并根据需要自动重新启动转换。

∙灵活的中断产生(支持PEC)。

∙极限检查功能用于降低中断负载(如用于温度测量或过载检测,只有当数值超过可编程边界值时才产生中断)。

∙可编程数据压缩滤波器(如用于数字抗混叠滤波),可叠加多个(个数可编程)转换结果。

∙独立的结果寄存器(8 个独立的寄存器)。

∙支持转换结果FIFO 缓存机制,从而允许更长的中断延迟。

∙支持挂起和省电模式。

∙每路通道的参考输入可单独编程选择,从而可通过同一个ADC 内核对3.3V 和5V 范围内的信号进行测量。

2 ADC模块的工作规则

2.1 ADC模块的功能简介

在16位单片机的XC2000/XE166家族中,ADC模块由两个独立内核(ADC0、ADC1)组成。它们可独自工作、也可同步工作。图1给出了ADC模块的大致框图。

Figure 1 ADC模块框图

每个ADC内核包括:

∙模数转换器,最多带有16 路模拟输入(CH0 - CH15)。该模块选择一路输入信号CHx、将该通道上的模拟电压转换为数据值。

∙转换控制单元,定义诸如采样时间、转换精度和参考电压等转换参数。采样时间和转换精度对于多个通道来说是相似的,因此可分组构成“输入组”。每路通道可单独分配一个输入组来定义这些参数。转换控制还用于处理转换的开始条件,比如立即开始(取消-插入-重复)、覆盖前一个转换结果(等待读取)、或ADC 内核同步(并行转换)。

∙请求控制单元,定义接下来将要转换哪路模拟输入通道。它包含 3 个请求源,可根据不同的事件(如PWM 或定时器信号的跳变沿、或端口引脚上的事件)触发转换。每个请求源可顺序触发1 路、4 路、至最多16 路转换。

∙结果处理单元,提供8 个结果寄存器用于保存转换结果。结果处理模块还支持数据压缩(比如用于数字抗混叠滤波),通知CPU 新数据可用之前自动叠加4 次的转换结果。此外,结果寄存器可级联构成FIFO 结构,从而可同时保存多个转换结果(前一个转换结果不被覆盖)。该特性还有助于处理CPU 中断响应。

∙中断产生单元,根据ADC 事件向CPU 发送中断请求。ADC 内核可基于不同的机制产生中断,如一些中断和转换结果所在范围(极限检查)有关,一些中断可将转换结果传送到内存单元中以备后续处理;在完成整个一系列转换之后也会产生一些中断。

2.2 ADC模块时钟方案

ADC 内核中的时钟信号均基于f ADC时钟产生。图2给出了ADC内核时钟方案的示意图。

Figure 2 ADC时钟方案

和其它模块一样,ADC模块使用系统时钟来进行操作。

由于ADC时钟没有分频器,因此如果ADC模块被选择了,则f ADC = f SYS。

ADC模块使用两个内部时钟信号f ADCI(用于模数转换器)和f ADCD (用于仲裁器)。所有其它数字结构(如中断等)直接由模块时钟f ADC驱动。

2.2.1 模数转换器的模拟时钟产生

模拟时钟f ADCI用作转换器的内部时钟,定义转换时间和采样时间。f ADCI 可通过编程位域GLOBCTR.DIVA 进行修改。见图3。

Figure 3 f ADCI模拟时钟调整

DIVA位定义转换器时钟f ADCI(用于计算转换时间和采样时间),由f ADC时钟周期数表示。DIVA位的配置结果:

00H f ADCI = f ADC Array 01H f ADCI = f ADC/2

02H f ADCI= f ADC/3

• • •.

3F H f ADCI= f ADC/64

相关文档
最新文档