百亿流量微服务网关的设计与实现
1161
2022-05-30
近期,很多客户反馈汽车远程数据终端无法直接通过OBD接口采集汽车CAN数据,其实这个原理上说的是简单,但是实际操作起来就比较复杂,那今天我给大家梳理下,共同再熟悉了解下网关,绕过网关来采集数据,或者直接在网关上采集数据。
一、网关是何方神圣?
我们知道,从一个房间走向另一个房间,需要经过一扇门。在汽车上,这些动脑筋的工程师把这个简单的进出门用到了汽车上:从一个网络向另外一个网络发送信息,需要经过一道“关口”,有的可能还不止一个,有 “嘉峪关、潼关、平阳关”,车载网络的这个关口,就是网关(getaway)。
网关作为汽车网络系统的核心控制装置,网关负责协调不同结构和特征的CAN总线网络及其他数据网络之间的协议转换、数据交换、故障诊断等工作。
网关是在采集不同体系结构或协议的网络之间进行互通时,用于提供协议转换、数据交换等网络兼容功能的设备,也可以通俗的叫他网络之间的连接器、协议的转换器、数据的翻译器。网关既可以用于广域互联,也可以用于局域互联,充当着转换重任的计算机系统或者设备,在使用不同协议、数据或者语言,甚至两种体系结构完全不同的两个系统之间,做翻译。
之前还有个网桥的概念,比如CAN转RS232这样的,就是类似一个网桥,网关对收到的信息(例如DBC)要重新打包,以适应目标系统需求,同时,网关还提供过滤和安全,那我们在OBD接口读取不到任何数据,比如大众车型只能采集个OBD的电压,特斯拉获得一个VIN码(用于上牌),通通属于被网关数据过滤的功能给过滤掉了。
二、网关的作用
暂且简单说下,主要体现的几个方面,有专业人士勿喷:
1、网关把局域网上的数据转变成可以识别的ACKII码,比如OBD2诊断数据,方便诊断。
2、协调低速率信息与高速率信息在汽车网络系统中的数据信息共享。
3、负责接受和转发信息。
4、激活某个控制单元或者某局域网的工作。
5、实现对整车网络系统内部数据的同步。
6、翻译。
网关会连接不同类型的总线系统,例如CAN信息、CAN诊断、CAN驱动、仪表、舒适等等,这里面区别比较大,发动机CAN一般是高速率、诊断及舒适性CAN是低速率,多媒体等有的采用以太网、MOST等总线系统,那网关就得保证这些数据交换的正常进行,保证不同速率的数据总线通过网关得以协同工作。
速锐得在2014年就破解了宝马全系的网关系统,主要研究了DCAN、KCAN及PTCAN。传输速率为100kbit/s的KCAN(车身CAN总线)相当于地铁的速度,主要是车身控制功能部分实现出来会用到;传输速率500kbit/s的PTCAN(动力传动系统CAN总线)相当于绿皮火车的速度;传输速率为10Mbit/s的安全气囊系统总线(byte flight,不展开讲)相当于动车的速度;传输速率为22.5Mbit/s的影音娱乐系统总线(MOST)相当于高铁的速度,尽管各个总线系统的数据传输速率和数据流量都不尽相同,差异巨大,但在安全和网关模块(等同于深圳站)的统筹安排和智慧调度下,管上了公交、出租、地铁、高铁及小绿皮,平稳运行、协同工作。
不同的总线系统的输出数据到达网关后,网关这边是要做进一步的处理,在网关中过滤各个信息的速度、数据量和紧急程度,并在必要时进行缓冲存储,同时还要做故障的监控和诊断工作,比村妇女主任还忙。
三、网关工作原理
就按刚才说的,用火车站转换旅客的过程来说明网关的工作原理最为合适,在某个车站,站台1到达一列动车组(驱动CAN总线,数据传输速率为500kbit/s)车上有数百名旅客(数据),在站台2已经有一列普快列车(车身BCM信息CAN总线,数据传输速率为100kbit/s),在等待,有一些旅客就要换到这列普快列车上,有一些乘客要换乘到特快列车继续旅行,当然,也有很多时候旅客是从这一列火车上下来到候车厅去等待相应的车次,这相当于网关信息的缓冲作用。
车站的这种换乘功能,即让旅客换车,以便通过速度不同的交通工具到达各自的目的的功能,与驱动CAN总线和舒适信息CAN总线两种网络系统的网关功能是相同的,网关的主要任务是使两个数据传输速率不同的系统之间能正常进行信息交换。
四、网关都装在什么位置?
先说个复杂点的,在宝马车系中,中央网关模块、安全和网关模块、多音频系统控制器、便捷进入起动系统、控制显示、组合仪表、车身网关等控制单元都具有网关功能。在奥迪和大众车系中,根据车型的不同,网关可能安装在组合仪表内、车上供电控制单元内、独立的网关控制单元或者车载远程智能网关。
由于通过CAN总线的所有信息都供网关使用,所以,网关也用做诊断接口,老款的大众及奥迪通过K线来查询诊断信息,现在基本都用诊断CAN来完成这个工作。
奥迪A8的数据总线诊断接口(网关)承袭为人熟知的功能,它与CAN舒适、CAN驱动、CAN扩展、CAN显示与操作、CAN诊断、FlexRay总线、MOST总线、LIN总线系统连接,一般安装在行李箱右侧电控箱,所连接的总线电路主要作用有:
1、控制单元联网网关
2、MOST总线环形诊断控制单元
3、蓄电池监控装置控制单元
4、发电机
5、稳压器
奥迪A7的数据总线网关安装在后座椅下的中间位置;
宝马数据总线网关安装在主驾驶位曲脚状态的地毯下面;
保时捷的网关在主驾驶座椅下,无线智能网关在副驾驶手套箱前方;
大众普遍在中控台油门踏板上方。
特斯拉model3在副驾驶靠近右脚的装饰面板侧上方。
结语:项目可以不做,搞坏车可不行
那我们了解了网关及各个车载通讯系统中存在不同的速率交互信息,这里在了解与操作的同时,也要特别提醒下各位车联网远程智能终端,特别是带汽车控制类的,复杂CAN数据交互类的、汽车整车控制策略类的、CAN报文转译类的项目,搞不定不要强行搞,别把好车搞了一堆故障码,先咨询下速锐得。
交通智能体 NAT
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。