引言
有点标题党,不过说是革新也并不为过,因为这个远程排放监控首次正式被写进了排放法规里。GB18691-2018中要求车载终端(如Tbox)上传 OBD、发动机信息、车辆位置、报警、电池电压/温度、NOx等数据到公共平台,也可以通过平台交换协议将企业平台数据传到公共平台。虽然法规只要求上传图下几个重要的数据,但是企业可以根据需要自行增加需要上传的数据,并可不上传到公共平台。
国六法规下的强硬排放监管措施
先了解以下两个文件《GB18691-2018 重型柴油车污染物排放限值及测量方法 中国第六阶段》 、《重型车远程排放监管系统技术规范 第3 部分:车载终端技术要求及测量方法》
法规里的两点要求:
1、从6b阶段开始,生产企业应保证车辆在全寿命期内,按本标准附录Q要求进行数据发送,由生态环境主管部门和生产企业进行接收。
2、整车远程排放管理车载终端抽查 。生态环境主管部门可按KE.2.8的规定,对新生产的车辆远程排放管理车载终端的功能进行检测。
目前绝大多数厂家研发国六发动机机,应该是冲着申请国六b阶段研发的。而目前貌似国六发动机公告和PEMS好像没有对远程排放管理车载终端功能进行验证(保留意见,我没见过,并不意味着没实施)。但是法规确实是规定了需要抽查,日后估计会完善监管。
实际上,除了OBD加强、这个手段也相当于防作弊措施升级,国六就不可能像国五一样使用了。像国五的后处理,实际就是名存实亡。
远程排放管理车载终端功能利弊
远程排放管理车载终端功能是实际是为了强化排放控制而实施。实际上,从国家对新能源的推广态度来看,排放监控是“蓝天保卫战”的必然结果。
对于环境主管部门:车载终端的强制实施,必然是利于其对整车排放的监控。
对于整车发动机厂商:这个强制性要求虽然会使研发和维护成本增大,但从另一方面看,发动机厂可以坐在办公室里就可以从车载终端中拿到批量整车发动机的大量数据,利用这些数据可以对发动机进行针对性的性能优化,已经远程数据升级,远程诊断。目前对于大厂来说,车载终端的大数据基本几乎是必抢的,两方基本都可能建设自己的服务器,以收集大量的整车数据。可能大厂已经在着手部署大数据分析中心了也不一定,未来的汽车之争会变成数据之争。看看今天的互联网世界就清楚了,你在一个软件搜索了平板电脑,然后打开另一个软件就发现它在给你推平板电脑的广告,其背后不过是大厂之间的商业行为罢了。
对于消费者:车载终端可能会暴露一些隐私,但是因为数据毕竟是由厂家把控,只要通讯安全做得足够强,就不会导致隐私泄露。同时,这个功能也会给消费者提供便利,如远程锁车,GPS定位,远程诊断等一些通过手机APP就能实现。
从文件里还可以看到,国六法规实际引用的是电动汽车的车载规范,有点意思。
远程排放管理车载终端功能通讯原理
分析车载终端的利弊和应用前景不是本文的目的,本文的目的是要从原理去了解车载终端的运行机制,但是本文也无法更深入的去解析软件实现的细节。如果想从软件结构去了解这个协议,可以自行知网查阅相关论文,或者去解读Github的32960解析库https://github.com/terryhart/32960。(PS:软件行业真好,网络资料齐全。)
从图上看,车载终端内置GPS模块可以获取地理位置;内置can收发器模块,可以对汽车can网络信号进行读写;内置无线通讯模块,可以通过网络对外进行通信,这里采用的通信公司提供的通信服务。
软件开发商若要给整车发动机厂开发一款车载终端,视功能复杂度,软件开发商会要求提供can报文矩阵、诊断协议、诊断数据流、故障码、seedkey等信息。车载终端通过内置can收发器读取特定需求数据,将数据按照固定格式协议打包,通过TCP/IP协议分发到服务器,服务器对收到的数据进行解析并展示给客户端(Web端、APP等)。
车载终端通讯要求
车载终端的无线通讯模块和外界进行数据交换是以TCP/IP网络控制协议作为底层通信承载协议。通俗说就是,车载终端将从can总线读到的信息按照一定的规则进行封装然后通过TCP/IP协议发送出去,或者从客户端得到的网络数据按照一定的规则进行解析。
各个程序平台基本都有自己TCP/IP协议库,实际开发中没人会造轮子。本来我是不想写TCP/IP的内容的,考虑到以后我会回来查阅我写的文章。我还是写点笔记。
TCP/IP数据包封装与拆解概述
1、TCP/IP封包流程
(1) 经过TCP/UDP封装后的数据称为TCP报文段/UDP数据报。因为TCP协议除了会为通信双方维持一个连接,还具有超时重发的功能,所以操作系统会将APP的要发送数据存储在内核的相关数据结构中:
上图描述的是TCP发送数据时示意图,接收缓冲区也是如此。发送端APP调用系统调用send()/write()函数向TCP连接写数据时,内核中的TCP模块首先将APP数据拷贝到与该连接对应的TCP内核发送缓冲区中,进而将TCP头部信息和TCP发送缓冲区中的数据传递给内核中IP模块,使用IP模块提供的服务。
(2) 接下来的,经过IP封装的数据称为IP数据报,IP数据报中的数据段为UDP数据报/TCP数报文段/ICMP数据报。
(3) 经过数据链路层封装的数据称为帧。根据传输媒介的不同,帧的类型也不同,例如有以太网帧、令牌环帧。以以太网帧为例,其封装格式为:
帧数据是最终在物理网络上传输字节序列。需要注意的是帧的最大传输单元(MTU, Max Transmit Unit),即帧最多能携带多少上层协议的数据(例如IP报文段)会收到网络类型的限制。以太网帧的MTU为1500Byte,过长的IP报文段可能需要被分包传输。
那么,车载终端采集的信息按照一定规则进行封装成数据包,这个数据包会被TCP封装到TCP报文段(TCP内核发送缓冲区),然后发送到服务器。
而这个一定的规定,就是GB17691规定的数据包结构。
车载终端数据包结构
车载终端发送至服务器的数据包,按照协议中规定数据报文由起始符、命令单元、车辆唯一识别码、数据加密方式、数据单元长度、数据单元数据和校验码组成。GB17691规定的数据包结构和GB/T 32960的不完全一样,意味着两者实际不是可以直接兼容的,坑。
数据包通过两个 ASCII 字符‘##’,表示一个数据包开始。之后命令单元,接下来应当填入车辆唯一识别码即 VIN。VIN 编码包含十七个字节数据。命令单元主要包括6个。过多的细节不解释了,这些规定就像手册一样,用到去查就行。
数据包样例:
2323 01 4c5a595442474257364a31303134313934 01 01 001c 120a1e142336 00fd 3839383630343032313031373030313739373739
解析起来就是:
起始符:##
命令单元:车辆登入
VIN:LZYTBGBW6J1014194
终端版本号:1
数据加密方式:不加密
数据单元长度:28
数据采集时间:2018-10-30 12:35:54
登入流水号:253
sim:89860402101700179779BBC
校验码:A0
行文参考:
GB 17691-2018
GB/T 32960.3
《基于 4G 网络和 CAN 总线的车辆在线故障诊断系统设计与实现》
《基于 GB/T 32960 的纯电动车远程监控终端研究与实现 》
https://blog.csdn.net/qq_29344757/article/details/78396507
https://github.com/terryhart/32960
《GB/T 32960-2016要点解读》
《重型车远程排放监管系统技术规范第3 部分:车载终端技术要求及测量方法》
因个人知识水平有限,全文仅供参考。
柴油机匹配小助手
Bosch & diesel & calibrantion % 柴油机电控标定 DOE试验设计 五大工具
公众号