你好!欢迎来到深圳市品慧电子有限公司!
语言
当前位置:首页 >> 技术中心 >> 电路保护 >> 工业分享:基于MPC5634的控制器多路AD采样的方案设计

工业分享:基于MPC5634的控制器多路AD采样的方案设计


品慧电子讯汽车队控制系统的要求不断提升,AD采样设计模块也成为汽车控制中不可或缺的部分。AD采样的速度和精度关系到汽车控制器的执行。本文中详述了基于MPC5634的控制器多路AD采样的方案,通过增强型内存访问(DMA)方式,在自动在增强型队列式模数转换器eQADC模块和RAM之间自动转移数据,使模拟信号的采集更加精准高效。
一、增强型存储器直接访问(DMA)模块DMA控制器是总线上的一个主机,能够在片内资源(Flash 、RAM和I/O外设等)以及片外资源之间传输数据。DMA有32个通道,在某个时刻只能有一个通道成为总线上的主机并进行数据传输。为了解决他们之间的冲突,DMA有两种可编程的优先级机制:固定优先级机制和轮询优先级机制。一旦一个通道成为主机,该通道将通过先读再写的操作方式,把数据从一个存储器地址传输到另一个存储器地址。每个DMA通道都有一个独立的传输控制描述符(TDCn)。二、增强型队列式模数转换器eQADC模块1、eQADC的命令格式eQADC有配置命令和转换命令两种命令格式。配置命令用于对eQADC模块进行初始化设置,像使能ADC模块单元,设置时钟分频因子,转换速率因子,使能DMA请求等;转换命令主要用于设置采集哪个通道,用哪个ADC模块单元转换,转换的结果放在6个结果缓存的哪一个里面,是否对采集的结果进行校正等。2、eQADC模块的结构MPC5634的eQADC模块有两个可独立工作的ADC转换单元(ADC0和ADC1),40路模拟通道(可扩展),0~5V的转换范围,转换精度有8位、10位、12位三种精度可选,具有软件和硬件两种触发方式,采样方式有单次方式和连续方式等,ADC的工作时钟可达15MHz.速率和精度可以满足汽车控制器的要求。图1为eQADC模块的结构框图,显示了eQADC模块的主要组成部分。工业分享:基于MPC5634的控制器多路AD采样的方案设计图1:eQADC模块的结构框图3、命令缓存CFIFO的工作机制eQADC模块有6个命令缓存CFIFO,每个CFIFO有4个深度,CFIFO有单次扫描和连续扫描的操作模式,配置为不同的扫描模式时,CFIFO就有不同的触发机制。当配置为单次扫描模式时,每次会使存储于队列中的eQADC转换命令序列执行一次。当设置为连续扫描模式时,只要队列启动后,就可以持续的运行。数据的流程如图2所示。工业分享:基于MPC5634的控制器多路AD采样的方案设计图2:数据流程12下一页>
  • 第一页:增强型队列式模数转换器模块介绍;
  • 第二页:多路采样程序设计

三、多路eQADC采样程序设计在这次的设计中,数据的传输是通过DMA进行的。多路eQADC采样程序设计主要包括命令队列、结果队列的定义,eQADC的初始化,DMA初始化,触发CFIFO等。程序的设计流程如图3。工业分享:基于MPC5634的控制器多路AD采样的方案设计图3:程序流程1、定义数组本文中cQUEUE0[40]被定义为转换命令的存储数组,rQUEUE0[40]被定义为转换结果的存储数组。把所有通道的转换命令分别放在数组cQUEUE0[40]中,最后采集的结果分别放在数组rQUEUE0[40]中,这个可以随时读取rQUEUE0[40]中的数据被汽车控制器所用。2、初始化DMATCD0对应于CFIFO0,TCD1对应于RFIFO0.由于本设计只要一个命令缓存CFIFO0和一个结果缓存RFIFO0就可以满足设计要求,故只用到一个CFIFO0,一个RFIFO0,以及与他们对应的TCD0和TCD1.设置TCD0:源地址为&cQUEUE0,目的地址为0xFFF80010,源地址偏移为4,传输的大小为32位,次要字节传输数NBYTES为2;主迭代数为40;设置TCD1:源地址为&rQUEUE0,目的地址为0xFFF80032,源地址偏移为4,传输的大小为16位,次要字节传输数NBYTES为2;主迭代数为40.3、初始化eQADC初始化转换命令的存储数组cQUEUE0[40],本设计是采用ADC0模块单元,12位精度,采用校正,一次采集40个通道的模拟量。配置eQADC的寄存器,时钟分频因子为2,使能DMA0,DMA1请求等。4、校正寄存器的设置本项目的芯片功能很强大,以前的校正都需要外面加硬件来校正采样结果,MPC5634自带的有校正功能,本项目采用的校正是这样的:ADC的初步转换结果将通过MAC单元来完成校正。MAC单元执行下列算法来进行校正:  Idealresult=GCCXADCresult+OCC+2 (1)  GCC为增益校正的常数,它是在寄存器ADCn_GCCR中定义的;OCC为偏移量校正常数,它在寄存器ADCn_OCCR中定义的。  GCCR与OCCR的值是需要计算来确定的。通过以下公式进行求解:  Idealresult1=GCCXADCresult1+OCC+2 (2)  Idealresult1=GCCXADCresult1+OCC+2 (3)为了求出GCCR与OCCR的值,我们只需要两个通道的理想结果和实际的结果就行了,通道44和通道43的电压值分别对应0.25Vdd和0.5Vdd.而他们的实际结果可以采集到。因此,可以求出GCCR和OCCR的值。5、使能DMA请求设置使能DMA0和DMA1请求。6、触发CFIFO0设置CFIFO0为连续转换模式,这样就可以连续、持续地采集信号,并及时把采集的结果放到结果存储数组中,如此就可以保证汽车控制器在结果存储数组中所读取的数据为最新的采集结果,可以使控制器根据最新的数据来控制各个执行器。
相关阅读:

【大揭秘】某数字式控制器电磁兼容性设计与分析
可用语音代替电话铃声的留言控制器电路设计
简单电路让数字电源控制器与模拟控制兼容
<上一页12
  • 第一页:增强型队列式模数转换器模块介绍;
  • 第二页:多路采样程序设计

用户评论

发评论送积分,参与就有奖励!

发表评论

评论内容:发表评论不能请不要超过250字;发表评论请自觉遵守互联网相关政策法规。

深圳市品慧电子有限公司