电动方程式赛车整车控制系统通信协议设计

2020-07-09 21:55李宁李刚刘赛
汽车实用技术 2020年8期
关键词:通信协议串口字节

李宁 李刚 刘赛

摘 要:針对电动方程式赛车控制系统研发,论文进行符合大赛规则要求的整车控制系统通信协议设计。根据电动方程式大赛规则中的相关设计要求,结合实车电气系统架构和无线数据采集的功能需求,确定采用整车采用CAN通信和UART通信方式相结合的方式,对UART通信协议进行完全自主设计,并基于两者协议进行了程序开发。关键词:电动方程式赛车;控制系统;通信协议;程序中图分类号:U469.6+96  文献标识码:A  文章编号:1671-7988(2020)08-27-04

Abstract: Liaoning University of technology electric motorcade independently researched and developed the communica -tion scheme of vehicle control system by carefully reading the relevant design requirements in FSEC competition rules and centering on the innovative concept. The whole vehicle adopts CAN communication and UART communication mode, and the program is developed based on the two protocols, in which the UART communication protocol is designed independently according to the actual situation of the vehicle. These laid a good foundation for the later development of the program and the debugging of the real vehicle.Keywords: Electric formula car; Control system; Communication protocol; ProgramCLC NO.: U469.6+96  Document Code: A  Article ID: 1671-7988(2020)08-27-04

1 引言

大学生方程式大赛被称为是汽车工程师培养的摇篮[1],中国大学生电动方程式大赛(FSEC)旨在为中国新能源汽车领域培养优秀汽车工程技术人才。赛前车队通常需要8到12个月的时间设计、制造、测试和准备赛车[2]。在与来自全国各地的大学代表队的交流与切磋中,赛事将会给了车队证明与展示其创造力和工程技术能力的机会。电动赛车整车控制系统是其关键组成部分,而合理的通信协议方案是保证控制系统安全可靠工作的重要内容[3-5]。论文针对大学电动方程式赛车控制系统开发,根据实车控制和无线数据采集需要,以及大赛规则进行整车控制系统通信架构和通信协议设计[6]。

2 通信方式

实车开发除了进行执行器控制外,还有对实车传感器如横摆角速度、方向盘转角传感器等信号进行实时数据无线采集,因此确定了整车采用CAN通信方式和UART通信方式,设计相应架构。

2.1 赛车CAN网络构架

CAN通信是目前应用最为广泛的现场总线之一,具有高性能、可靠的优点,常常应用于汽车、船舶以及航空领域,其英文是Controller Area Network,控制局域网络的意思[7]。CAN总线系统是多机系统,最高的传输速率能达到1Mbit/ sec,其短帧结构每条报文最多能够有8字节数据。CAN总线具有错误检测与处理机制,且能够实现数据校验,帧内应答,广播发送等。在CAN总线上传输的数据报文不包含发送节点和接收节点的信息,每个报文的内容通过标识符(ID)识别,每个标识符在网络中都是唯一的,标识符描述了数据的含义也决定了优先级。网络中的数据报文可以被所有节点接收,也可以进行报文过滤。

赛车CAN网络中的节点主要是各个控制单元:整车控制器RapidECU、两台电机控制器、仪表控制单元,还有两个传感器作为网络节点:横摆角速度传感器以及方向盘转角传感器。除电池管理系统的通信波特率为250Kbits以外,其余通信波特率统一为500Kbits,所以将BMS与整车控制器RapidECU的另一路CAN收发器进行通信,然后作为整车CAN网络的一个节点接入。在CAN 总线的两端分别接入120Ω终端电阻,这样赛车上的所有CAN通信部件之间就可以进行通信,构成了一个完善的赛车CAN网络。CAN总线网络构架如图1所示。

2.2 赛车UART通信方式构架

串口通信(UART)不但可以实现单片机的数据传输到计算机端,而且也能实现计算机对单片机的控制。由于其所需的电缆线少,接线简单,所以在较远距离传输中,得到了广泛的认可。串口通信能够传输的最远距离是50英尺=15m,且可做到双向传输,全双工通信,最高的传输速率可达20kbps。串口通信的参数除了波特率,还有数据位、停止位、奇偶校验位。数据位的标准值是5、7、8位。停止位用于表示单个数据包的最后一位,典型的值为1、1.5、2位。其实停止位不仅仅表示传输的结束,并且提供计算机校正时钟同步的机会。

UART通信主要是用于赛车的人机交互,通过开发仪表控制单元,将赛车CAN网络中的信息转化为串口信号,按照通信协议分别传送给赛车的仪表和无线数据采集的上位机。良好的人机交互功能会给之后的各部分调试奠定基础,最终赛车串口通信构架如图2所示。

3 通信协议设计

通信协议是通信设备在通信前的约定。单片机、计算机有了协议约定,通信双方才能相互配合,精确地完成各种操作。赛车仪表通信协议中,数据帧架构由帧头(2个字节)数据长度(1个字节)、指令(1个字节)、数据(n个字节)CRC校验(2个字节)组成(都以十六进制发送)。协议中的指令只有5条,分别为:写控制寄存器指令(80),读控制寄存器指令(81),写数据存储区指令(82),读数据存储区指令(83),写曲线缓冲区指令(84)。两种协议中所涉及的内容整理如表1和表2所示。

由表2可以看出,赛车仪表通信协议中,数据帧架构由帧头(2个字节)数据长度(1个字节)、指令(1个字节)、数据(n个字节)CRC校验(2个字节)组成(都以十六进制发送)。协议中的指令只有5条,分别为:

1)写控制寄存器指令(80)

2)读控制寄存器指令(81)

3)写数据存储区指令(82)

4)读数据存储区指令(83)

5)写曲线缓冲区指令(84)

为了更好的理解,这里以读0000变量地址里的数值为例:

Request帧:5A  A5  04  83  00  00  01

5A A5:帧头

04:发送的数据长度(从指令开始到最后的数据长度,即从83指令开始此处共发送4个字节)

83:读数据存储区指令

00:变量地址

01:从0000地址开始读1个字长度数据

Transmit帧:5A  A5  04  83  00  00  01  00  02

4 程序编写

仪表控制单元的程序与整车控制器的程序一起构成了整车控制程序。仪表控制单元程序的开发,运用了IAR7.4软件进行C语言程序设计,程序经过试验可实现功能,部分程序如下:

/*串口函数*/

void UART(void)

{

UART_QuickInit(UART4_RX_PC14_TX_PC15, 115200);//仪表串口初始化

UART_QuickInit(UART1_RX_PC03_TX_PC04, 115200); //无线串口初始化

UART_Meter(HW_UART4,BatVoltage); //仪表显示电池电压

UART_Meter(HW_UART4,BatCurrent); //仪表显示电池电流

UART_Meter(HW_UART4,BatSoc); //仪表显示电池电量

UART_Meter(HW_UART1,MotTargue); //传送电机转矩

UART_Meter(HW_UART1,MotRotation); //传送电机转速

}

/*CAN函数*/

void CAN(void)

{

CAN_QuickInit(CAN1_TX_PC17_RX_PC16,kCAN_ Bau -drate_250K); //设置CAN总线波特率

CAN_SetReceiveMB(HW_CAN1, 1, 0x186040F3); //设置CAN接收ID

CAN_SetReceiveMB(HW_CAN1, 8, 0x202);

CAN_ITDMAConfig(HW_CAN1,1,kCAN_IT_RX); //开启CAN中断

CAN_ITDMAConfig(HW_CAN1,8, kCAN_IT_RX);

CAN_CallbackInstall(HW_CAN1, CAN_ISR);//調用CAN接收回调函数

}

/*主函数*/

int main(void)

{

DelayInit();

gpio_Init();

pit();

while(1)

{

if(TimeFlag_100ms == 1)

{

CAN();

UART();

}

}

}

5 结论

在完成电气系统合理布置工作的基础上,采用CAN通信和UART通信相结合的方式,对赛车的整车控制系统通信方案进行了设计与开发。赛车网络与仪表控制单元采用CAN通信方式,无线数采上位机间采用UART通信方式,编写了整车控制程序,实现了预期控制功能。

参考文献

[1]中国大学生方程式汽车大赛官方网站:http://www.formulastudent. com.cn/.

[2] 林继铭,张勇,杨建红,张锋,黄身桂.基于大学生方程式汽车大赛的车辆专业教学模式改革[J].教育教学论坛,2019(12):34-36.

[3] 李鹏伟.大学生方程式电动赛车电气控制系统设计[D].长安大学,2017.

[4] 陈凯琦,彭辉.大学生电动方程式赛车电控安全系统的设计[J].电工技术,2019(12):136-137+139.

[5] 郑竹安,周玉鼎.大学生电动方程式汽车的安全回路设计[J].盐城工学院学报(自然科学版),2016,29(03):23-26.

[6] 李理光.中国大学生方程式汽车大赛规则[Z].中国汽车工程学会, 2018.

[7] 张莉.基于CAN总线的通信系统设计研究[J]. 自动化与仪器仪表,2018(4):91-94.

猜你喜欢
通信协议串口字节
际华高分子材料高科产业园能源管理系统设计
字节跳动瞄准教育等新业务
MCS—51单片机中的多串口通讯技术的应用
全国计算机等级考试机房准备工作探讨
微机串口的测试诊断
人类进入“泽它时代”
基于R8C的汽车OBD通用故障诊断仪设计
SIP协议系统模型的形式化研究
基于VC串口通信的实现