当前位置: 首页 > 范文大全 > 公文范文 >

新能源汽车多接口数据采集终端设计研究

时间:2022-03-23 09:26:46  浏览次数:

摘要:新能源汽车的发展代表了汽车工业的一种新趋势。为了加强行车安全及提升车辆运行效率,高效地获取新能源车辆行车数据成为一种迫切需要。设计了一种基于 S3C6410 主控芯片的多功能通用车载数据采集终端,并给出了相应的数据获取软件实现。硬件方面,车载终端支持两路CAN总线、GPS、无线通信和数据存储等多种接口。软件方面,围绕新能源汽车数据采集应用,构建了一个稳定、高效的数据流传输通道。实验表明,数据采集终端实现了多种接口支持并在功能上能够很好地满足应用需求。

关键词:新能源汽车;CAN总线;数据收集;无线通信

中图分类号:U463 文献标识码:B 文章编号:1009-3044(2018)12-0290-03

Abstract: The development of green vehicle represents a new trend in the automotive industry. In order to enhance road safety and improve the efficiency of vehicle operation, efficiently access to driving data become an urgent requirement. Based on S3C6410 master chip, we design a versatile vehicle data collection terminal, and give the corresponding software implement. In hardware, the terminal supports two-way CAN bus, GPS, wireless communication and data storage capability. In software, concerning the data collect of green vehicles, we construct a stable and efficient data transmission channel. Experiments show that the designed vehicle data collection terminal can meet the application requirements adequately in function.

Key words: CAN bus; green vehicle; data collection; vehicle terminal

随着全球汽车工业的飞速发展,能源和交通等问题日益突出,大力发展节能环保的新能源汽车,通过互联网新技术提升传统汽车产业成为一种趋势。混合动力、纯电动、燃料电池电动汽车等新能源汽车的机械结构相对传统内燃机汽车结构简单,但电池、电机及电气结构更加复杂。加强行车安全、提高车辆的运行效率,对车辆运行状况的监管成为一种必然。当前行车数据采集终端多实时转发车輛控制器局域网络(Controller Area Network,CAN)接口中的数据[1-2],没有进行本地化保存,一旦信号较差时容易造成数据丢失,无法进行数据再现。基于车载诊断系统(Second On-Board Diagnostics, OBDII)的数据采集模式一般通过蓝牙通信将数据发送至用户手机,用途主要体现在车速测量、体检打分等后装市场上。由于该模式采集数据类型较为单一、准确性和可靠性相对不足等缺点,制约了深层应用[3]。设计一款多功能通用型车辆数据采集终端成为一种迫切需求,通过该新型终端获得的实时数据能够用于车辆监控,给技术研发人员、售后人员及管理人员等提供针对性服务。此外,基于车辆大数据的进一步分析可以用于车辆的驾驶行为分析[4]、油耗分析[5]、故障诊断与预测[6-7]等。

1 硬件设计

1.1终端设计

车载终端负责新能源车辆运行时数据的稳定、可靠、实时采集与存储。要求该采集终端在硬件方面能够支持多种接口,做到良好的通用性和扩展性;软件方面则需要构建各种数据源稳定、高效的传输通道。车载终端在功能上主要针对车辆的运行状态监控、故障诊断、原始数据存储与发送、本地化程序升级等应用。其中,原始数据以文件保存于本地存储卡,用于后期针对性的数据挖掘和数据分析。终端设备采集到的数据包括 CAN 总线获取的车辆实时数据和通过车载全球定位系统(Global Positioning System , GPS)模块获取的车辆实时位置信息两种。图1给出了终端的硬件结构框图。

1.2 终端结构与功能分析

考虑功耗和性能需求,数据采集终端选用成熟稳定的基于 ARM11 架构的三星 S3C6410 处理器[8]。该处理器具有 128MB 的 DDR 内存以及 1GB 的 NANDFLASH,具有多种硬件加速器和高达 667M 的主频,功耗低、数据处理功能强大、扩展性良好等特点。由于S3C6410芯片没有集成CAN控制器,兼顾 CAN节点的性能和成本,终端采用符合CAN2.0B技术规范并支持 SPI 接口的 Microchip MCP2515 CAN 控制器实现滤波。主控芯片通过MCP2551收发器连接到汽车 CAN网络上,该芯片支持1Mb/s的运行速率且具有很强的抗噪性。

车载终端采集获取的GPS数据主要用于监控车辆的行车位置,ARM主控芯片通过UART2串口与GPS模块相连。车载终端与外部设备通过短距离和长距离通信进行交互。短距离通信包括终端和手机(或Pad、笔记本电脑)之间的实时双向高速数据流的稳定传输。一方面,终端无显示屏幕时可以借助手机、Pad实时显示车辆运行状况信息。另一方面,要求能够完成本地化的整车控制器程序更新。较高数据传输速率的双向通信,通过WiFi无线通信实现。选用支持 SDIO 接口的 RTL8189芯片,该芯片支持 AP/STA 主从两种工作模式,具有高性能、低成本特征。长距离传输主要完成原始数据到数据中心服务器的数据传输,使用中兴 MC2716 3G 无线通信模块。考虑到本地数据存储的需要,采用支持 SDIO 接口的TF卡。

2 软件设计

当前常见的嵌入式操作系统有Linux、WinCE、VxWorks、Android等[9-11]。由于Linux系统具有开放源代码、内核稳定,支持多任务、完善的硬件驱动和多种文件系统等优点,终端选择采用 Linux 嵌入式操作系统。对终端进行系统移植,并通过修改驱动、配置内核、加载驱动、系统烧写等操作完成对各硬件模块的支持。

车载终端软件负责采集车辆数据源中的数据,构建一个从源到监控中心流向的稳定通道,使数据可靠交付给监控中心。本质上,终端软件设计可以分为数据采集融合、数据本地存储和数据传输三部分,如图2所示。首先,软件将获取的CAN总线车辆数据和GPS位置数据进行融合打包;然后,终端软件将数据按照一定格式进行本地化存储。同时,采用TCP协议数据还会通过3G无线通信发送给监控中心。注意,采集的原始数据是CAN数据帧,经过协议解析后的车辆实时数据,可以通过无线短距离通信发送给手持设备进行显示,辅助售后人员进行现场故障排除等应用。

2.1 CAN数据帧

按照国际标准组织,CAN协议定义了物理层、数据链路层和应用层。其中,物理层负责定义数据传输方式,数据链路层负责数据报文成帧、仲裁及报文滤波等,应用层留给用户定义。与CAN总线协议对应,应用于车辆中通信的为SAE J1939协议。其中J1939-21对数据链路层的格式进行了定义,SAE J1939-71给出了应用层定义。在数据链路层,数据帧以协议数据单元(Protocol Data Unit, PDU)为单位进行信息传送,一个PDU相当于CAN协议中的扩展帧。图3给出了CAN数据扩展帧和PDU格式。其中,P为优先级,R为保留位(固定为0),DP为数据页(固定为0),PF为PDU格式(报文编码),PS为PDU细节,SA为原地址。R+DP+PF+PS构成参数组编号(PGN)。如帧ID为18FEEE00的数据帧其PGN为0x00FEEE。

在应用层消息以报文(Message)传递。此处的报文是指一个或多个具有相同PGN的CAN数据帧,即报文可能包含一个或多个CAN数据帧。以下仅举一例表明协议数据帧的具体含义,如表1所示。

2.2 数据获取

车辆数据获取采用Socket CAN网络编程模型。该模型中CAN协议位于操作系统的网络层上。驱动成功的CAN控制器可以被视为一个普通的网络设备,这样就可以通过网络Socket接口调用CAN设备驱动的方法以实现软件编程。该模型的优点是能够同时打开多个CAN套接字进行数据的收发管理,本实现中采用Epoll多接口编程模型进行套接口数据收发管理。

使用Socket CAN编程模型获得车辆CAN总线数据的步骤如下:

1) 网络通信初始化。

socket(PF_CAN, SOCK_RAW, CAN_RAW);

2) 將CAN套接字绑定到接口,注意需要监听所有CAN接口。

sAddr.can_family = AF_CAN;

sAddr.can_ifindex = 0;//监听所有CAN接口

bind(nSocket, (struct sockaddr*)&sAddr, sizeof(struct sockaddr_can));

3) 设置滤波功能,仅接收扩展帧数据。

sFilter.can_id = 0x00000000U;

sFilter.can_id |= CAN_EFF_FLAG;

sFilter.can_mask = 0x80000000U;

setsockopt(nSocket,SOL_CAN_RAW,CAN_RAW_FILTER, &sFilter, sizeof(struct can_filter));

4) 多接口数据接收,完成CAN总线车辆数据的接收任务并使接收到的数据进入数据队列。采用Epoll编程模型过程如下:

(a) nEpoll = epoll_create(2);

(b) epoll_ctl(nEpoll, EPOLL_CTL_ADD, nSocket, &sEvent);

(c) nEvents=epoll_wait(nEpoll, sArrEvent, 2, 10);

(d) 处理事件,数据接收并作入队列操作。

2.3 数据解析显示与存储

融合后的车辆数据包含GPS位置数据和CAN总线数据,数据流转过程中进一步分解为三路数据,一路通过J1939协议规范解析后由无线通信实时发送到远程监控中心,另外一路存储到本地SD卡上,第三路通过短距离通信传输到手持设备上本地化显示。解析处理后的数据需要通过格式化处理以方便与显示设备进行交互。文件的命名策略根据实际需要生成,比如为了区别车辆终端及记录采集的时间,可以“车架号-采集时间”命名。此外,可以根据需要灵活配置存储文件的大小。

3 系统实现

3.1 数据设定

以下采用模拟测试验证车辆采集终端的运行效果。其中,在模拟测试方案中选择 CANalyst-II CAN 总线分析仪测试数据的收发。该设备可以被视为一个标准的 CAN 节点,在 CAN 总线产品开发、设备测试、数据分析等场景下应用广泛。试验中可以通过配套软件设置报文发送的波特率、帧格式与类型、帧 ID、CAN通道以及数据等。数据采集终端原型系统与 CANalyst-II 分析仪的连接如图4所示。数据采集模块上电后,会依据配置文件对 WiFi 进行自动配置,并运行客户端程序。设定分析仪的波特率为 250kbps,假定传输的帧类型为数据帧、扩展帧,数据长度为 8 字节。

3.2 结果

测试结果表明车载数据采集模块和数据传输系统能够稳定工作。图5给出了软件运行获取CAN分析仪数据并经过解析后在屏幕上呈现的部分内容。从图中数据可以看出,解析后的数据直观地反映了车辆的实时运行数据和运行状态,从而采集的数据可以作为参数优化和故障诊断的依据。车载终端软件运行在本地TF卡上存储相应的数据文件。所存储的本地文件通过无线通信方式发送给远程服务器,为车辆数据分析和挖掘等潜在应用服务。

4 结束语

针对新能源汽车数据采集应用的实际需求,给出了一种多功能通用型智能车载数据采集终端设计。该終端支持两路CAN总线、GPS、无线通信以及TF存储接口。软件实现上围绕车辆数据的获取和传输建立了完整的数据流向通道。模拟实验表明,该车载终端能够完成整车 CAN 网络和GPS数据的采集、存储和发送,性能稳定,可靠性良好,很好地满足了应用需求。

参考文献:

[1] 王任重. 基于CAN总线的车载网络控制系统研究与设计[D]. 上海: 上海工程技术大学. 2015: 20-28.

[2] Qi Z, Dong P, Ma K, et al. A design of in-car multi-layer communication network with Bluetooth and CAN bus[C]. Proc. of 2016 IEEE 14th International Workshop on Advanced Motion Control. 2016: 323 – 326.

[3]Jia T, Luo WG, Jia HB, et al. Research on remote diagnosis system based on baidumap API and OBD II diagnosis technology[C]. Proc. of 2016 International Conference on Communication Problem-Solving (ICCP), 2016: 1-3.

[4]Jo K, Lee M, Kim J, et al. Tracking and behavior reasoning of moving vehicles based on roadway geometry constraints[J]. IEEE Transactions on Intelligent Transportation Systems. 2016, 9: 1-17.

[5]汪成亮, 陈俊宏, 张晨. 基于车联网的油耗检测及其时空分布研究[J]. 计算机工程, 2013, 39(9): 34-38.

[6]颜伏伍, 曹恺, 胡杰, 等. 基于 Internet 和 3G 的汽车远程诊断数据采集技术的研究[J]. 汽车工程, 2013, 35(5): 467-471.

[7]章军辉, 李庆, 陈大鹏. 一种电动车专家自诊断方法及系统[J]. 计算机科学, 2016, 43(6A): 34-36.

[8]Chen XL, Yang YW. Design of bus vehicle monitoring terminal design on S3C6410[C]. Proc. of World Automation Congress, 2012: 1-4.

[9]于伟, 毛耀, 肖靖, 等. 基于 VxWorks系统的高空气球吊篮反捻控制器[J]. 计算机工程与应用, 2016, 52(22), 266-270.

[10]Hu J, Liu C, Yan F, et al. The development of vehicle diagnostic system based on Android platform[C]. Proc. of 2015 International Conference on Connected Vehicles and Expo (ICCVE), 2015: 42-47.

[11]Luca B, Luciano B, Marco DF, et al. An integrated simulation framework to model electric vehicle operations and services[J]. IEEE Transactions on Vehicular Technology. 2016, 65(8): 5900-5917.

推荐访问: 终端 新能源 数据采集 接口 研究
[新能源汽车多接口数据采集终端设计研究]相关文章