当前位置:首页 > 电源 > 功率器件
[导读]  随着汽车对控制系统的要求和依赖性提高,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。[!--empirenews.page--]

  

 

  图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:源地址为&cQUEUE0,目的地址为0xFFF80010,源地址偏移为4,传输的大小为32位,次要字节传输数NBYTES为2;主迭代数为40;设置TCD1:源地址为&rQUEUE0,目的地址为0xFFF80032,源地址偏移为4,传输的大小为16位,次要字节传输数NBYTES为2;主迭代数为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 结束语

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

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

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭