汽车电子控制器开发装置主控制器模块的研究
2020-02-18阮慧祥
阮慧祥
(广西职业技术学院, 广西壮族自治区 南宁 530000)
引言
传统的汽车电子控制器在运用中存在开发周期长、可靠性低、成本高等缺点。随着电子控制器的不断研发国内汽车电子市场已经进入了一个快速发展时期,汽车电子水平已经成为汽车的现代化水平的主要标志,因此本文提出了一种具有软硬件协同开发模式的汽车电子控制器快速开发系统。
1 汽车电子控制器快速开发系统的整体设计方案
汽车电子控制器快速开发系统当中的“快速”指的就是可以减少系统的研发周期,能够于现实的汽车技术发展相匹配,并且具有一定的稳定性。该系统实现了软件和硬件的协同开发,在硬件设计上采取模块化、程序逻辑设计上体现了直观化、模型库功能较为强大、可以自动生成部分代码这就为电子控制系统的研发提供了便利,从而实现减少投入、降低周期、加强稳定的功能。该系统是以C++语言环境为基础,通过电脑和PCI总线来连接硬件系统并控制各个功能模块;软件系统则基于PC机的操作系统自动生成,通过功能模块控制程序的图形编辑和代码自动生成。
1.1 系统硬件平台
在本系统的各个功能模块综合起来可以归结为下面三个功能模块。其一是PC机,PC机是用户的控制界面,其主要功能就是为了便于其他功能的控制和实现。如网络之间的互通,为比较复杂的对象建立模型,实现智能算法,设计各种软件等[1]。其二就是主设备模块,该模块的主要功能就是实现系统从初始到关闭之间的各种命令,系统初始化之后PCI总线主设备向PC机发出总线占有请求信号,然后执行用户的各项命令如数据传输,设备选择等。其三就是从设备模块,这一模块主要包括主设备模块以外的部分,即存储和驱动部分。存储的主要功能就是数据的保存,驱动的主要功能就是实现命令执行的预期效果。
1.2 系统软件平台
软件是实现功能的重要组成部分,想要达到预期效果就必须要装置高配置PC机和功能齐全的软件包。软件包分为数据管理和图形编辑两个部分,数据管理主要管理的就是参数、对象模型、功能模块、逻辑符号和逻辑算法;图形编辑则包含源代码产生器、代码编译器和加工器。系统软件平台是保证功能齐全系统稳定的核心。
2 控制器主控制板模块设计与DSP系统调试
2.1 DSP硬件系统的基本电路
其一是电源电路,关于电源电路需要着重注意的是电源的电压,不能对PCB板的布线形成干扰,电压只能选择12 V和5 V这两种。5 V电压的主要功能,就是为5 V的芯片提供电源,12 V的电压需要通过变压器将其转化成3.3 V。其二是复位电路,主要起着稳定系统功能的作用,一旦处理不当就会形成系统紊乱。复位电路一般采取专用复位芯片和RC复位电路两种措施,在该系统当中选择了前者。其三就是DSP的JTAG接口电路,传统的DSP的JTAG接口当中都有一个仿真接口,利用仿真器就能够实现直接访问,除此之外还有编程和调试的功能,从而有利于对DSP系统进行调试。本系统也在主控制板上预留了这一接口。
2.2 DSP硬件系统的调试
电路板的调试工作比较复杂,如果没有良好的头绪,往往无从下手,最后的结果只能是漏洞百出,不能满足人们的使用需求。因此,在本系统的DSP调试当中已从以下几个方面入手。首先是电源模块的调试,上面介绍了DSP硬件系统电源需要特别注意电压,这是因为本系统的DSP芯片需要提供多种不同的电源,如CPU、锁相环等。其次是晶振电路的调试,晶振电路主要是通过内部的振荡器链接生成时钟信号,这一电路的效果直接影响PCB的工作。检测晶振电路的方式一般都是利用示波器来进行检测,通过晶振调试图就能够发现问题(示波器出现正弦波,则晶振电路正常)
2.3 DSP系统的开发环境
DSP控制器目前已经广泛运用于电机数字控制和其他控制系统当中,这一控制系统功能强大,寿命较长,也能够起到稳定系统的功能。DSP系统的开发主要基于Windows的Codecomposer调试器,这种调试器存在两种工作模式,其一是可以仿真软件,对软件进行模拟;其二是具有在线编程硬件的功能[2]。
3 GPLD时序匹配逻辑控制设计
3.1 GPLD简介
GPLD是可编程逻辑器的简称,随着社会的发展,尤其是半导体工艺的进步,集成电路被广泛运用在电脑、工程、电子等领域,为了提供较好的编程技术,ASIC应运而生并且具备运算快、成本低、消耗低的特点,但也存在不稳定,研发周期长等缺点。之后GPLD和FPGA两款芯片逐渐出现,弥补了ASIC的缺陷,GPLD和FPGA相比各有优缺点,GPLD最大的优点就是断电之后不会丢失配置信息,通电之后不用重新设置就可以直接使用,非常方便。
3.2 LOCAL端时序匹配和通信设计
首先是本地端的读写时序分析,在PCI目标模式的传输当中,PCI总线控制器的本地端数据传输分为两种方式,其一为单周期操作方式,指的是在每次的数据传播当中只能传播一种数据,不能同时传播多种数据;其二是突发操作方式,指的是每次数据传播只能传播一批数据。在LOCAL端时序传播当中我们采用的是第一种,即单周期操作方式。其次是DSP读写时序分析,在写时序图当中,地址线数据线与控制信息对应的是存储器的写入允许所存控制,当外部处于电平较低时允许内部存储器操作数据。
3.3 PCI本地段控制逻辑功能设计
在上面的讲解当中介绍了本系统的硬件组成,总体逻辑就是主体控制模板利用PCI总线路来链接外部设备,从而实现如通信等各个功能。具体而言就是主体控制模板从外部硬件设施当中读取命令,然后主体控制模板对此命令进行分析和读取,然后利用PCI总线的驱动软件来快速的执行命令。也就是说主体控制模板是一个中枢系统,需要从外界接受信息,同时要分析信息和发布命令。为了解决PCI和DSP的时序匹配问题和接口的兼容性,就需要利用GPLD芯片来进行解决。
4 主控制器板卡驱动程序的开发
1)驱动程序简介。系统进行到这一步就是需要解决软件和硬件的结合问题,驱动就是软件和硬件的润滑剂,是操作系统的接口,解决了这一问题基本上就完成系统的初步研发。驱动程序一般包括设备的最初状态、端口衔接、存储管理、DAM传输和中断管理,设备驱动可以加载核心模块。一个良好的设备驱动需要完成以下工作,硬件和软件的初始工作(即启动工作),能够创建和删除数据,能够完成对设备的访问和检测,可以与其他驱动协调,处理电源和添加删除热拔插设备。
2)驱动开发工具WinDriver。WinDriver是一款功能较为全面的驱动开发软件,可以检测硬件的状态,能够自发生成代码,可以对程序进行调试,并且能够解决较为简单的问题。能够降低开发周期,具备了用户模式,操作简单对编程的知识要求低,具有很强的稳定性。
3)基于WinDriver的PCI设备驱动程序开发。首先是关于硬件访问问题,PC机器的核心处理器存在两个地址空间,微机接口卡处于两个地址空间中间,此处也会生出一个空间映射。WinDriver为我们提供了两个类别的映射访问,从而解决硬件访问问题。其次是中断处理,在执行某种命令的时候,处理器往往正在进行其他的工作,这就会产生指令的中断。在解决这一问题当中WinDriver能够生成两种类型的实例,包含KInterrupt和Kdeferredcall,处理硬件中断是通过前者来完成的。
5 结语
1)通过阅读相关资料以及文献了解了具体的平台设计思路,确定了汽车电子控制器开发装置软硬件平台的构造框架;
2)进行了控制器主控制板模块设计与DSP系统调试,对DSP系统的开发环境进行了模拟;
3)对GPLD时序进行了匹配逻辑控制设计,对其概念有了一定的了解,并且尝试对主控制器板卡驱动程序进行了开发。