当前位置:首页 > 电源 > 电源-能源动力
[导读]随着汽车对控制系统的要求和依赖性提高,AD采样的设计模块成为汽车控制器中重要的组成部分。AD采样的结果是汽车控制器控制执行器的依据,它的速率和精度在汽车控制中起着重

随着汽车对控制系统的要求和依赖性提高,AD采样的设计模块成为汽车控制器中重要的组成部分。AD采样的结果是汽车控制器控制执行器的依据,它的速率和精度在汽车控制中起着重要的作用。

本文主要介绍一种基于MPC5634的多路模拟信号采集方法,通过增强型直接内存访问(DMA)方式,自动在RAM和增强型队列式模数转换器eQADC模块之间转移数据,能高效和准确地完成对模拟信号的采集。

1增强型队列式模数转换器eQADC模块

1.1 eQADC模块的结构

MPC5634的eQADC模块有两个可独立工作的ADC转换单元(ADC0和ADC1),40路模拟通道(可扩展),0~5V的转换范围,转换精度有8位、10位、12位三种精度可选,具有软件和硬件两种触发方式,采样方式有单次方式和连续方式等,ADC的工作时钟可达15MHz.速率和精度可以满足汽车控制器的要求。图1为eQADC模块的结构框图,显示了eQADC模块的主要组成部分。



图1 eQADC模块的结构框图


1.2命令缓存CFIFO的工作机制

eQADC模块有6个命令缓存CFIFO,每个CFIFO有4个深度,CFIFO有单次扫描和连续扫描的操作模式,配置为不同的扫描模式时,CFIFO就有不同的触发机制。当配置为单次扫描模式时,每次会使存储于队列中的eQADC转换命令序列执行一次。当设置为连续扫描模式时,只要队列启动后,就可以持续的运行。数据的流程如图2所示。



图2数据流程


1.3 eQADC的命令格式

eQADC有配置命令和转换命令两种命令格式。配置命令用于对eQADC模块进行初始化设置,像使能ADC模块单元,设置时钟分频因子,转换速率因子,使能DMA请求等;转换命令主要用于设置采集哪个通道,用哪个ADC模块单元转换,转换的结果放在6个结果缓存的哪一个里面,是否对采集的结果进行校正等。

2增强型存储器直接访问(DMA)模块

DMA控制器是总线上的一个主机,能够在片内资源(Flash、RAM和I/O外设等)以及片外资源之间传输数据。DMA有32个通道,在某个时刻只能有一个通道成为总线上的主机并进行数据传输。为了解决他们之间的冲突,DMA有两种可编程的优先级机制:固定优先级机制和轮询优先级机制。一旦一个通道成为主机,该通道将通过先读再写的操作方式,把数据从一个存储器地址传输到另一个存储器地址。每个DMA通道都有一个独立的传输控制描述符(TDCn)。

3多路eQADC采样程序设计

在这次的设计中,数据的传输是通过DMA进行的。多路eQADC采样程序设计主要包括命令队列、结果队列的定义,eQADC的初始化,DMA初始化,触发CFIFO等。程序的设计流程如图3.



图3程序流程


3.1定义数组

本文中cQUEUE0[40]被定义为转换命令的存储数组,rQUEUE0[40]被定义为转换结果的存储数组。把所有通道的转换命令分别放在数组cQUEUE0[40]中,最后采集的结果分别放在数组rQUEUE0[40]中,这个可以随时读取rQUEUE0[40]中的数据被汽车控制器所用。

3.2初始化DMA

TCD0对应于CFIFO0,TCD1对应于RFIFO0.由于本设计只要一个命令缓存CFIFO0和一个结果缓存RFIFO0就可以满足设计要求,故只用到一个CFIFO0,一个RFIFO0,以及与他们对应的TCD0和TCD1.设置TCD0:源地址为主迭代数为40;设置TCD1:源地址为主迭代数为40.

3.3初始化eQADC

初始化转换命令的存储数组cQUEUE0[40],本设计是采用ADC0模块单元,12位精度,采用校正,一次采集40个通道的模拟量。配置eQADC的寄存器,时钟分频因子为2,使能DMA0,DMA1请求等。

3.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的值。

3.5使能DMA请求

设置使能DMA0和DMA1请求。

3.6触发CFIFO0

设置CFIFO0为连续转换模式,这样就可以连续、持续地采集信号,并及时把采集的结果放到结果存储数组中,如此就可以保证汽车控制器在结果存储数组中所读取的数据为最新的采集结果,可以使控制器根据最新的数据来控制各个执行器。

4主程序和执行结果

void main(void)

{

uint32_t cQUEUE0[40]; //定义命令存储数组

uint16_t rQUEUE0[40]; //结果存储数组

dma_init_fnc(); //DMA初始化

eqadc_init_fnc (); //eQADC初始化

set_calconstants ();//校正寄存器的设置

dma_able();//使能DMA0,DMA1

cfifo0_trig();//使能DMA0,DMA1

while(1)

{

}

}

5结束语

本设计完成了汽车控制器的采样模块的设计,它保证在时间上和精度上满足汽车控制器的要求。通过不断地测试,该设计达到了系统所要求的性能和功能。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

从我们的直观感受来说,DMA并不是一个复杂的东西,要做的事情也很单纯直白。因此Linux kernel对它的抽象和实现,也应该简洁、易懂才是。不过现实却不甚乐观(个人感觉),Linux kernel dmaengine...

关键字: Linux dma

  吉利dma项目进展   为进一步扩大市场份额和开拓大客户市场,吉利汽车拟在梅山岛新建整车生产工业园,本项目总用地面积约1888亩,项目位于宁波市北仑区东南海滨的梅山岛。地块北侧为七星

关键字: dma 吉利

  吉利品牌包含BMA乘用车在内的三大项目此前已宣布落户成都,预计整车总产能将达60万台。近日网通社从成都市发改委获悉,吉利正推进成都BMA/PMA、宁波梅山DMA基地建设项目,未来将投产多款吉

关键字: dma 吉利

什么是8位微控制器STM8L050?它有什么作用?2019年1月16日 - 意法半导体推出了全新的8位微控制器STM8L050的推出,以提升低成本、低功耗8位微控制器(MCU)的功能集成度。作为超高能效的STM8L系列的...

关键字: dma MCU stm8l050

这是一篇指导驱动工程师如何使用DMA API的文档。

关键字: CPU dma

本文从计算机组成原理的层面详细介绍了DMA,以及Linux网络子系统的DMA机制是如何实现的。

关键字: dma Linux 编程

你知道嵌入式驱动程序关于设计层面的技术吗?无论学习什么都有需要掌握的要点与窍门,本文我们一起深入了解关于嵌入式驱动程序关于设计层面的窍门。每一个嵌入式应用软件都会在某些时候访问最底层的固件和进行一些硬件控制。 驱动的设计...

关键字: dma 嵌入式设计 usart驱动程序

今天,我将带您了解Linux内存管理。 对于精通CURD的学生,内存管理似乎离我们还很远,但是尽管这一知识点并不热门(据估计,很多人在学习后不会再使用它),但这无疑是基础。 虽然学完后没有看到即时的效果,但是它将对您将来...

关键字: dma Linux zone

太阳的光线出现在生活中的每一个地方,人们的生活已经离不开太阳,太阳能不仅为植物生长提供光源,而且也能为人类提供能源,现在的光伏发电就是很大程度上利用了太阳能。据最新一期《美国国家科学院院刊》报道,美国莱斯大学利用廉价塑料...

关键字: 氢燃料 电源技术解析 太阳能海水 淡化系统

在现在的生活中,太阳能产品处处可见,人们用太阳能煮饭,还有太阳能热水器等等,无处不见太阳能产品,当然,最重要的还是太阳能发电,但是目前的技术并不能让人们很好利用太阳能发电。日前,科技部发布了《国家重点研发计划“可再生能源...

关键字: 电池组件 电源技术解析 钙钛矿 协鑫
关闭
关闭