朱巨莲
(武汉软件工程职业学院 汽车工程学院,武汉 430205)
在电动汽车电机控制器产品的开发过程中,调试工具具有十分重要的作用。功能完善、灵活高效的电机控制器调试系统能够提高电机控制器调试工作的效率,并有助于加快产品的开发进程。目前,大多数电机控制器产品的调试工具存在,参数体系不够灵活的缺陷。电机控制器的各种输入和输出信号源固定,当现场应用发生变化时,要更改输入或输出信号源,只能通过重新修改和下载程序实现,导致电机控制器调试工作的效率降低。为此,在电机控制器调试系统中引入灵活的参数体系和高效的通信协议,以便设计和开发出可以提高电机控制器调试工作效率的调试系统。
电机控制器所有参数分为只读参数、连接器参数和可设置参数3 类。只读参数只能显示不能修改,常用于显示系统输出值,如控制器状态、电机电流和转速、故障等。连接器参数是固定值或电机控制器根据当前状态生成的值,不能修改,只能用于设置互联参数。其中,开关量连接器参数前缀为B,单字数字量连接器参数前缀为K。可设置参数可以根据需要进行修改,常用于设置系统输入值,如控制器目标转矩给定、故障检测阈值等。可设置参数又分为两种:一种是功能参数,可以设置为允许范围内的某个值;另一种是互联参数,可以通过连接器参数进行设置。开关量互联参数的后缀为B,单字数字量互联参数的后缀为K。
连接器参数和互联参数为电机控制器提供了一种灵活联系输入和输出信号的参数设置方法,可以根据实际应用需求随时更改信号输入和输出的端口。连接器参数和互联参数的应用示例,如图1 所示。电机控制器的启停命令参数P4001.B 是一个开关量互联参数,可以根据实际应用需求将其设置为不同来源的连接器参数,如位常量0(B0000)、位常量1(B0001)、键盘启停信号(B0002)、整车通信启停信号(B0004)等。同时,启停命令的值也是一个开关量连接器参数B0008,可以供其他开关量互联参数使用。电机控制器目标转矩标幺值给定参数P4296.K 是一个数字量互联参数,可以根据实际应用需求将其设置为各种不同来源的连接器参数,如单字常量100%(K0502)、单字常量-200%(K0508)、键盘转矩给定(K0528)、整车通信转矩给定(K0524)等。目标转矩标幺值也是一个数字量连接器参数K0640,可以供其他数字量互联参数使用。
图1 连接器参数和互联参数的应用
控制器局域网络(Controller Area Network,CAN)总线由于结构简单、应用灵活、具有良好的实际应用性能成为主流车载总线,在工业控制领域应用广泛。CAN 总线为多主系统,通信速率最高达到1 Mb·s-1,通过标识符区分优先级,采用短帧报文,抗干扰能力强。同时,采用循环冗余校核(Cyclic Redundancy Check,CRC)校验,数据传输可靠,错误节点可以自动关闭,主动脱离总线,不影响总线上其他正常工作的节点[1]。根据电机控制器调试系统的应用需求,结合互联参数体系的优势及CAN 总线的特点,合理设计调试系统的CAN 通信协议。该协议易于实现,数据传输效率高,具有可靠性且易于扩展。
电机控制器调试系统采用主从通信方式。主设备(上位机)通过CAN 总线与一个或多个从设备(下位机)相连,CAN 网络中的每个从设备都有不同的地址。如果主设备要与CAN 网络中的某个从设备进行通信,必须先发送包含该从设备地址的连接命令,与其建立有效连接,才能开始通信。
电机控制器调试系统的主要通信任务包括快速读取和设置电机控制器的单个参数值、上传和下载电机控制器多个连续参数或全部参数、在线周期监测电机控制器参数的变化情况。为了实现以上通信任务,定义两种主从设备之间的数据传输模式。
2.2.1 应答传输模式
在应答传输模式下,每次都由主设备先发送一条命令报文,然后从设备进行应答,发送一条回复报文。这种传输模式主从设备之间采用一问一答方式,数据传输的可靠性高。当从设备在执行命令过程中出现错误时,可以将错误信息通过回复报文中的错误码上报给主设备。应答传输模式适用于少量或者可靠性要求高的数据传输,可以用于读取和设置、上传和下载电机控制器参数,但是不适用于在线连续监测[2]。
2.2.2 无应答(周期)传输模式
在无应答传输模式下,主设备首先发送相关的周期传输设置命令报文,设置从设备周期传输的数据数量、采样周期、触发条件等。从设备收到设置命令后,按照设置要求主动发送数据报文到主设备,直到主设备需要停止无应答传输时,再次发送停止周期传输命令的报文,从设备收到后立即停止发送数据报文。无应答传输模式适用于在线周期监测电机控制器参数的变化情况。
电机控制器调试系统的CAN 通信协议是在符合CAN2.0A 或CAN2.0B 规范的CAN 报文帧基础上进行的二次定义,主要规定CAN 报文帧数据域中的8 个字节数据的格式和含义。主设备发送的第1 个字节是命令码,第2 个字节是报文编号,主要用于主从设备之间的同步应答,主设备每发送一次报文,编号自动加一。从设备发送的第1 个字节是错误代码,主要用于向主设备上报错误信息和异常状态。第2 个字节是报文编号,从设备回复的报文编号必须与主设备发送的一致。CAN 报文中其他字节对于不同的命令可以定义不同的含义。
电机控制器调试系统的CAN 通信只需使用两个CAN 报文身份标识号(Identity Document,ID),就可以使主设备和从设备发送CAN 报文。两个CAN 报文ID 的具体值可以自行定义,一般采用优先级较低的CAN 报文ID,以免影响CAN 总线上其他CAN 报文的传输[3-4]。
电机控制器调试系统的设计和开发主要包括调试系统的硬件设计、上位机调试软件的设计以及下位机电机控制器CAN 通信协议栈的程序开发。
电机控制器调试系统的硬件构成如图2 所示。主设备(上位机)主要包括个人计算机(Personal Computer,PC)机和调试软件,其中PC 机的通用串行总线(Universal Serial Bus,USB)接口通过USB-CAN 转换器连接到CAN 总线,再将CAN 总线数据转换为USB 数据,供调试软件读取和处理。从设备(下位机)主要是电机控制器电子控制单元(Electronic Control Unit,ECU),采用高性能数字信号处理器(Digital Signal Processor,DSP)处理器TMS320F28335,其内部集成了CAN控制器,只需通过CAN 收发芯片即可连接到CAN总线。
图2 调试系统硬件
电机控制器调试系统的软件分为上位机调试软件和下位机调试软件,并通过CAN 通信实现上下位机之间的数据传输[5]。上位机调试软件主要包括CAN协议处理模块、CAN 通信驱动模块、参数表文件解析模块、数据监测模块(包括监测数据曲线显示部分)和数据存储模块等,负责发送命令报文以及接收和解析下位机回复的报文,开发工具选用Microsoft Visual Studio 2010。下位机调试软件相对简单,主要包括CAN 协议处理模块、CAN 通信驱动模块和数据采集模块,负责接收、解析、回复上位机的命令报文,并主动发送周期监测数据报文。
电动汽车电机控制器调试软件的主界面,如图3所示。双击互联参数即可弹出连接器选择框,根据需要选择合适的连接器即可。经测试,电机控制器调试系统长期连续运行正常。
图3 电机控制器调试软件主界面
在电动汽车电机控制器调试系统中引入灵活的参数体系和高效的通信协议,能够设计和开发出提高电机控制器调试工作效率的调试系统。该调试系统具有良好的人机交互界面,可以灵活配置输入和输出信号源,具有快速读取和修改参数、可靠上传和下载全部参数、在线周期监测参数变化情况等功能。经过长时间的测试和应用,证明该调试系统传输稳定、准确,使用方便、灵活,能够满足电机控制器现场和开发的调试需求。