基于MPC5634的控制器多路AD采样的设计.doc

基于MPC5634的控制器多路AD采样的设计.doc

ID:27870577

大小:110.00 KB

页数:8页

时间:2018-12-06

基于MPC5634的控制器多路AD采样的设计.doc_第1页
基于MPC5634的控制器多路AD采样的设计.doc_第2页
基于MPC5634的控制器多路AD采样的设计.doc_第3页
基于MPC5634的控制器多路AD采样的设计.doc_第4页
基于MPC5634的控制器多路AD采样的设计.doc_第5页
资源描述:

《基于MPC5634的控制器多路AD采样的设计.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于MPC5634的控制器多路AD采样的设计  本文主要介绍一种基于MPC5634的多路模拟信号采集方法,通过增强型直接内存访问(DMA)方式,自动在RAM和增强型队列式模数转换器eQADC模块之间转移数据,能高效和准确地完成对模拟信号的采集。  1增强型队列式模数转换器eQADC模块  1.1eQADC模块的结构  MPC5634的eQADC模块有两个可独立工作的ADC转换单元(ADC0和ADC1),40路模拟通道(可扩展),0~5V的转换范围,转换精度有8位、10位、12位三种精度可选,具有软件和硬件两种触发方式,采样

2、方式有单次方式和连续方式等,ADC的工作时钟可达15MHz.速率和精度可以满足汽车控制器的要求。图1为eQADC模块的结构框图,显示了eQADC模块的主要组成部分。    图1eQADC模块的结构框图  1.2命令缓存CFIFO的工作机制  eQADC模块有6个命令缓存CFIFO,每个CFIFO有4个深度,CFIFO有单次扫描和连续扫描的操作模式,配置为不同的扫描模式时,CFIFO就有不同的触发机制。当配置为单次扫描模式时,每次会使存储于队列中的eQADC转换命令序列执行一次。当设置为连续扫描模式时,只要队列启动后,就可以

3、持续的运行。数据的流程如图2所示。    图2数据流程  1.3eQADC的命令格式  eQADC有配置命令和转换命令两种命令格式。配置命令用于对eQADC模块进行初始化设置,像使能ADC模块单元,设置时钟分频因子,转换速率因子,使能DMA请求等;转换命令主要用于设置采集哪个通道,用哪个ADC模块单元转换,转换的结果放在6个结果缓存的哪一个里面,是否对采集的结果进行校正等。  2增强型存储器直接访问(DMA)模块  DMA控制器是总线上的一个主机,能够在片内资源(Flash、RAM和I/O外设等)以及片外资源之间传输数据。

4、DMA有32个通道,在某个时刻只能有一个通道成为总线上的主机并进行数据传输。为了解决他们之间的冲突,DMA有两种可编程的优先级机制:固定优先级机制和轮询优先级机制。一旦一个通道成为主机,该通道将通过先读再写的操作方式,把数据从一个存储器地址传输到另一个存储器地址。每个DMA通道都有一个独立的传输控制描述符(TDCn)。  3多路eQADC采样程序设计  在这次的设计中,数据的传输是通过DMA进行的。多路eQADC采样程序设计主要包括命令队列、结果队列的定义,eQADC的初始化,DMA初始化,触发CFIFO等。程序的设计流程

5、如图3。    图3程序流程  3.1定义数组  本文中cQUEUE0[40]被定义为转换命令的存储数组,rQUEUE0[40]被定义为转换结果的存储数组。把所有通道的转换命令分别放在数组cQUEUE0[40]中,最后采集的结果分别放在数组rQUEUE0[40]中,这个可以随时读取rQUEUE0[40]中的数据被汽车控制器所用。  3.2初始化DMA  TCD0对应于CFIFO0,TCD1对应于RFIFO0.由于本设计只要一个命令缓存CFIFO0和一个结果缓存RFIFO0就可以满足设计要求,故只用到一个CFIFO0,一个R

6、FIFO0,以及与他们对应的TCD0和TCD1.设置TCD0:源地址为&cQUEUE0,目的地址为0xFFF80010,源地址偏移为4,传输的大小为32位,次要字节传输数NBYTES为2;主迭代数为40;设置TCD1:源地址为&rQUEUE0,目的地址为0xFFF80032,源地址偏移为4,传输的大小为16位,次要字节传输数NBYTES为2;主迭代数为40.  3.3初始化eQADC  初始化转换命令的存储数组cQUEUE0[40],本设计是采用ADC0模块单元,12位精度,采用校正,一次采集40个通道的模拟量。配置eQA

7、DC的寄存器,时钟分频因子为2,使能DMA0,DMA1请求等。  3.4校正寄存器的设置  本项目的芯片功能很强大,以前的校正都需要外面加硬件来校正采样结果,MPC5634自带的有校正功能,本项目采用的校正是这样的:ADC的初步转换结果将通过MAC单元来完成校正。MAC单元执行下列算法来进行校正:  Idealresult=GCCXADCresult+OCC+2(1)  GCC为增益校正的常数,它是在寄存器ADCn_GCCR中定义的;OCC为偏移量校正常数,它在寄存器ADCn_OCCR中定义的。  GCCR与OCCR的值是

8、需要计算来确定的。通过以下公式进行求解:  Idealresult1=GCCXADCresult1+OCC+2(2)  Idealresult1=GCCXADCresult1+OCC+2(3)  为了求出GCCR与OCCR的值,我们只需要两个通道的理想结果和实际的结果就行了,通道44和通道43的电压值分

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。