
简介面向车联网、智能交通与车载通信研发测试人员的标准原文文档聚焦合作式智能运输系统中车用通信系统的应用层规范与数据交互要求可用于 V2X 应用设计、接口对齐和标准合规自查。文件为 CSAE 53-2020 第一阶段版本替代 2017 版正文涵盖范围、规范性引用文件、术语与缩略语、系统介绍与标准范围并给出基础应用的需求分析、应用定义及基本要求涉及前向碰撞预警、交叉路口碰撞预警、左转辅助、盲区/变道预警、逆向超车预警、紧急制动预警等场景。包内共 1 个 PDF 文件大小约 15.57MB单份文档便于检索与归档。已有 1274 人学习适合需要查阅原始条款、核对应用层消息与交互流程的工程师和研究人员作为案头参考。1. 一句话说清 CSAE 53-2020车与车之间那份“聊天规则手册”路口两辆车差点撞上两边的仪表同时响了警报——一辆是合资品牌一辆是国产新势力它们凭什么能互相“听懂”靠的不是缘分而是一份编号为 CSAE 53-2020 的文件全名《合作式智能运输系统 车用通信系统 应用层及应用数据交互标准第一阶段》。把它当成车与车、车与路之间的“聊天规则手册”就好谁先开口、每句话包含哪些字段、字段用什么格式写、隔多久说一次全都写死在里头。搞懂它你就明白路上那些“会说话的车”到底在交换什么信息也明白为什么有的预警反应很快、有的预警总是晚半拍。2. 为什么要有这份标准没有它每辆车都在自说自话设想一条城市快速路上同时跑着十几个品牌的车每家的工程师都觉得自己定义的“刹车提醒”数据包最合理A 厂把速度放在第 3 个字节B 厂放在第 7 个字节C 厂用米每秒D 厂用千米每小时。结果就是每辆车都在广播但谁也解不开别人的包。这份标准存在的全部理由就是把“说什么”统一下来让不同厂商的车辆之间、车辆与道路基础设施之间能够互联互通。它不规定你用哪种无线技术只规定开口之后第一句话该长什么样。2.1 车上的盒子到底装了什么四块拼图标准在系统介绍部分拿车载单元举例把一个“会说话的车”拆成四块。第一块是无线电通信子系统负责接收和发送空中信号一个车载设备里可以装一个也可以装好几个。第二块是定位系统通常包含卫星导航接收器提供车辆的位置、方向、速度和时间还能靠车速信号、惯性测量单元、差分定位等手段把精度再往上抬。第三块是车载设备处理单元跑程序生成要发出去的信号也处理收到的信号。第四块是天線负责射频信号的收发。这四块通过接口连到应用电子控制单元应用跑在那里最后通过人机交互界面提醒驾驶员形式可以是图像、声音或者振动。有些设计里应用单元和处理单元干脆做在同一个物理设备中。把这套架构摆出来不是为了讲硬件而是想说明一件事后面所有应用能不能成立前提都是位置够准、时间够同步、算得够快。一份预警晚到 300 毫秒驾驶员能做的动作就完全不一样了。2.2 应用层站在哪一层只管“说什么”不管“怎么喊”参照通用的通信系统分层模型车用通信系统从下往上大致分为物理层、数据链路层、网络层、传输层、应用层最上面是系统应用。这份标准明确只管应用层以及应用层与上下相邻两层的接口也就是图 2 里画的那个范围。它不指定底层用哪种通信技术可以架在各种传输层、网络层、数据链路层和物理层之上。换个说法它管的是快递面单上必须写什么、怎么写不管这单货是走货车还是走飞机。往上它定义了一套应用编程接口让不同的应用开发者各自开发功能不必操心对方用的是什么通信方式或通信设备往下它定义了一套服务提供接口让车用通信系统能和不同通信方式的设备兼容。这种“只管中间一层”的切法本质上是在给技术迭代留余地——底层通信技术几年一换面单格式不必跟着推倒重来。提示接口分两个方向向上的叫应用编程接口向下的叫服务提供接口。看标准第 7 章时先分清方向否则容易把“应用要调用的”和“设备要实现的”搞反。2.3 定位精度从 5 米收紧到 1.5 米一次修订暴露的痛点2020 版代替 2017 版技术变化主要三处。第一处最要命交叉路口碰撞预警、左转辅助、异常车辆提醒、车辆失控预警、道路危险状况提示、限速预警、弱势交通参与者碰撞预警、绿波车速引导、车内标牌、紧急车辆提醒这十个应用基本性能要求里的定位精度从“不超过 5 米”改成了“不超过 1.5 米”。第二处是把所有基础应用里“数据更新频率不超过”的写法改成了“数据更新频率典型值”。第三处是调整应用层交互数据集与另一份面向车联网无线通信消息层的技术要求文件保持一致。5 米为什么不够城市道路一条车道也就三米出头宽5 米误差意味着一辆车可能被判断到隔壁车道甚至再隔壁。交叉路口场景里把旁边车道停着的车当成自己车道正前方的障碍就是天天误报反过来该报不报就是漏报。1.5 米大致能把车辆锁定在本车道范围内误判率才降得下来。至于“不超过”改成“典型值”是给工程实现松绑原来写死上限硬件抖动一下、网络拥塞一下就可能过不去改成期望水平后具体折中留给场景去谈。3. 17 个基础应用拆开看安全、效率、信息服务三条线标准从安全、效率、信息服务三大类里挑了 17 个典型应用作为第一期内容每个应用都按六个方面描述应用定义和预期效果、主要场景、系统基本原理、通信方式、基本性能要求、数据交互需求。这六个方面构成了一个完整的“验收清单”——不光告诉你这个功能是干什么的还告诉你什么情况下该报、什么情况下不该报、报得有多快、需要交换哪些字段。很多人翻标准只盯场景图恰恰漏掉了“不该报”那一半。3.1 安全类应用提前一秒知道前车踩了刹车12 个安全类应用里前向碰撞预警被写得最细四个主要场景值得逐个看。场景一是主车正常行驶远车在同一车道正前方停着主车即将撞上时发出预警而且预警时机要保证驾驶员收到后有时间采取措施。场景二是远车停在相邻车道前方这时主车行驶不会撞上驾驶员不应该收到预警——这一条是整份标准里最容易被忽略的设计它规定了误报边界。会报警不难难的是不该报的时候闭嘴。场景三是远车在同一车道前方慢速行驶或正在减速同样要预警。场景四最能体现车用通信的价值主车跟着一辆车正常行驶更前方同一车道还停着一辆车视线被前车完全挡住前车为了躲避突然变道主车面前凭空冒出一辆车。这种场景下摄像头和雷达都被遮挡而停着的那辆车一直在广播自己的位置主车就能提前知道前面有东西。标准还特意写明中间那辆遮挡视线的车有没有通信能力不影响这个场景成立。其余安全类应用各管一段交叉路口碰撞预警处理横向来车左转辅助盯对向直行车盲区预警和变道预警看侧后方逆向超车预警在借道超车时评估对向来车紧急制动预警靠事件触发而不是周期广播异常车辆提醒和车辆失控预警针对那些行为已经不正常的目标道路危险状况提示、限速预警、闯红灯预警由路侧发声弱势交通参与者碰撞预警把行人设备也纳入进来。3.2 效率与信息服务类绿灯还剩几秒、前方堵不堵效率类有四个。绿波车速引导是路侧把信号灯的相位和配时广播出来车端结合自己的位置和速度算出一个能连续通过路口的速度区间让驾驶员不必靠运气赶绿灯。车内标牌把路侧的标志标牌内容送进车内施工、限高、管制这类信息不必等驾驶员肉眼看见。前方拥堵提醒把远处的排队情况提前告知。紧急车辆提醒让救护车、消防车的接近方向提前暴露给周边车辆。信息服务类只有一个汽车近场支付。停车场、加油这类场景把支付环节放到车机上完成。它被单列一类是因为它的通信需求和安全性要求跟前面那些安全应用完全不是一回事时延要求宽松得多但对身份和交易可靠性的要求高。类别应用数量代表应用主要通信方式安全12前向碰撞预警、交叉路口碰撞预警、盲区预警V2V、V2I、V2P效率4绿波车速引导、车内标牌、前方拥堵提醒V2I、V2V信息服务1汽车近场支付V2I3.3 通信方式的分工V2V、V2I、V2P 与事件触发标准里的通信方式有四种写法。V2V 是车与车之间直接广播前向碰撞预警、盲区预警、逆向超车预警都靠它。V2I 是车与路侧单元通信限速预警、闯红灯预警、绿波车速引导这类必须有路侧参与。V2P 是车与行人设备通信弱势交通参与者碰撞预警会用到。还有一种 V2V-Event意思是事件触发而非周期广播紧急制动预警、异常车辆提醒、车辆失控预警属于这一类。这个区分很实用。周期广播的消息要按固定频率持续发送占带宽事件触发的消息只在状态异常时猛发几次省资源但要保证送达。附录 B 就是按通信需求给这些应用做了分类频率和时延要求不一样的应用工程上的取舍完全不一样。看应用定义的时候顺手看一眼它标的是哪种通信方式基本就能猜出它对时延有多敏感。3.4 这 17 个应用是怎么挑出来的标准附录 A 给了第一期应用的评选方法附录 B 是按通信需求做的分类表附录 C 是规范性的前向碰撞预警基本性能指标依据。三个附录的位置很说明问题先有筛选逻辑再有分类最后给一个应用做性能指标的示范。挑应用的底层逻辑大致是三条场景要明确得能用文字和图示说清“谁在什么位置、发生了什么”问题要能靠通信解决如果靠雷达就能搞定且成本更低优先级就往后排性能指标要可验证定位精度、更新频率、时延这些得能测出来。这三条也解释了为什么第一期只有 17 个——不是想不到更多是能同时满足这三条的还不够多。4. 消息集长什么样从整条消息拆到一个个数据元素第 6 章是整份标准里篇幅最大的部分从第 43 页一直铺到第 115 页七十几页几乎都在定义数据。它的组织方式是一层套一层消息帧装消息体消息体里放数据帧数据帧由数据元素拼成。理解了这四层关系再厚的定义表也能顺着读下来。反之直接翻到某一页看字段名很容易迷失在缩写里——那些三四个字母的代号几乎每个都对应一个应用场景里的具体判断依据。4.1 四层结构消息帧、消息体、数据帧、数据元素最外层是消息帧可以理解成一个统一的包裹容器所有在空口上跑的消息都套在这个壳里好处是接收端拿到任何一个包都能用同一套逻辑先拆壳。壳里面是消息体具体分成几类基本安全消息描述车辆自身的状态信号灯消息描述路口红绿灯的相位和倒计时路侧单元消息描述路侧感知到的交通参与者路侧交通事件消息描述突发的道路状况。这几类消息对应不同的应用场景前向碰撞预警主要吃基本安全消息闯红灯预警和绿波车速引导主要吃信号灯消息。再往里是数据帧一个消息体里的字段太多就按语义打成若干个帧比如“车辆位置”相关的字段打成一帧“车辆运动状态”相关的字段打成一帧。最里层是数据元素是不可再拆的最小单位一个速度值、一个航向角、一个精度标识。打个比方消息帧是快递箱消息体是箱子上贴的面单类型数据帧是面单上划出来的分区数据元素就是每个格子里填的那个字。4.2 ASN.1 与 UPER为什么要用这么“别扭”的写法标准里定义数据结构用的不是表格而是一种叫抽象语法记法的形式语言配套的编码规则是压缩编码。前者负责描述“这个数据长什么样”有哪些字段、每个字段的取值范围、哪些是可选的后者负责把它压成二进制位。这不是为了显得高深而是两个现实约束逼出来的。第一个约束是带宽。一辆车每秒要广播好几次自身状态周围几十辆车同时在发每次几十个字节用文本格式写“速度:25.0,航向:180”这种内容光字符就浪费掉大半空口容量。压缩编码把整数值按位挤在一起同样的信息量能省下可观的比例。第二个约束是跨语言跨平台。抽象语法记法是一种中立的描述方式工具链能据此自动生成各种编程语言的编解码代码不同厂商的实现之间才有互通的把握。提示数据元素的分辨率和取值范围直接决定编码占几位。改动一个取值范围可能让整段编码长度变化收发两端必须同步升级否则解出来的数会整体错位。4.3 一条前向碰撞预警走完全程从广播到方向盘震动把链路串一遍。远车按固定频率广播基本安全消息里面带着自己的位置、速度、航向、加速度和制动状态。主车的无线电通信子系统收到信号处理单元把压缩编码解开交给应用层。应用层先判断这辆车是不是在自己前方同一车道——这一步就吃掉定位精度的大部分预算1.5 米和 5 米的差别在这里体现得最直接。判定同车道之后用两车距离除以相对速度估算碰撞预计时间低于阈值就通过人机交互界面提醒驾驶员可以是图像、声音也可以是方向盘振动。标准对系统延迟的定义是从远车或路侧单元等设备发出数据到主车接收、经网络层处理、传递给应用层的时间这份文件里特指应用层端到端的延迟。注意它不含驾驶员反应时间那个得在性能指标里另外算。# 用两车广播信息粗算碰撞预计时间仅示意判定逻辑 def ttc_seconds(hv_speed, rv_speed, gap_m): # 相对速度主车比远车快多少单位米每秒 rel hv_speed - rv_speed if rel 0: return float(inf) # 主车不比远车快不构成追尾趋势 return gap_m / rel # 距离除以相对速度单位秒 POS_ERR 1.5 # 定位精度上限从测距结果里扣掉 gap max(0.0, 42.0 - POS_ERR) # 名义间距 42 米扣掉误差余量 print(round(ttc_seconds(25.0, 5.0, gap), 2)) # 输出 1.85这段代码里hv_speed是主车速度单位米每秒rv_speed是远车速度gap_m是两车间距。25 米每秒约合 90 公里每小时远车 5 米每秒约合 18 公里每小时名义间距 42 米扣掉 1.5 米定位误差后算出 1.85 秒。真实实现里还要加上航向角判断、车道曲率匹配、加速度外推阈值也不是一个固定数而是随车速变化的一组曲线——附录 C 给出的正是前向碰撞预警基本性能指标的推导依据。这段代码真正想说明的是定位误差不是纸面上的一个参数它会直接进入最后那个秒数。5. 几个最容易搞混的地方应用层标准不等于通信技术标准翻这份标准的人最常犯的错是把几个层级完全不同的东西当成同一件事。有人以为它是通信协议有人以为它是自动驾驶法规还有人以为拿到它就能直接写出一套能上路的预警系统。这几类误解的根源都一样没分清“说什么”“怎么传”“谁来用”是三件独立的事。下面五组概念初学者几乎必踩其中至少两个。5.1 易混点一这份标准与消息层技术要求不是一回事易混点在于两份文件都带“车用通信系统”字样都定义了一大堆数据字段看目录会觉得高度重叠。为什么会混因为 2020 版修订时确实做了一件事——把应用层交互数据集与那份消息层技术要求文件对齐了两份文件的数据结构存在对应关系翻的时候会看到相似的字段名。怎么区分看职责边界。这份标准管应用层回答的是“实现前向碰撞预警需要交换哪些信息、交换得多快、判据是什么”。消息层那份管的是消息怎么封装、怎么寻址、怎么在接入层传出去。一个比喻前者规定信封里那封信写什么内容后者规定信封怎么写地址、贴多少邮资。做应用开发主要看这份做通信模组和协议栈才需要两份对着看。5.2 易混点二把“应用层”当成“应用程序”易混点在于“应用层”这个词在日常语境里常被理解成“装了多少个 App”。为什么会混因为手机用久了应用就是软件直觉上会把车上的应用层也当成某个具体软件。怎么区分车用通信系统里的应用层是分层模型中的一层是一套关于消息集和数据结构的约定它本身不是一个能点开的程序。真正的应用程序跑在应用电子控制单元上调用标准定义的那套接口去收发数据。换句话说应用层是语法和词汇表应用程序是用这套语法写出来的文章。同一套应用层标准可以支撑几十种不同的应用实现。5.3 易混点三以为它能够替代雷达和自动刹车易混点在于前向碰撞预警听起来和车上已经有的自动紧急制动很像都涉及“前面有车、要撞了、赶紧处理”。为什么会混因为两者的触发条件在物理量上是同一个——碰撞预计时间。怎么区分看感知来源和职责。雷达和摄像头是“自己看”靠发射电磁波或成像判断前方有没有障碍这份标准定义的是“别人告诉你”靠对方车辆主动广播自己的状态。前者在非视距场景下会被遮挡场景四那种“前车变道后突然露出一辆停着的车”正是它的盲区后者能穿透遮挡但前提是对方也装了设备并且愿意广播。还有一层区别预警只负责提醒人制动是执行两者不在一个层级。把预警当成自动刹车是把提示音当成了刹车踏板。5.4 易混点四把团体标准当成强制法规易混点在于标准文本写得非常像法规有范围、有规范性引用文件、有“应”和“不应”、有性能指标。为什么会混因为它的排版遵循统一的标准编写规则读起来天然带着权威感。怎么区分看它的性质。这是一份团体标准由行业学会发布供自愿采用不是市场准入的强制门槛。它规定的是“这么做能互通”不是“不这么做就违法”。文本里也写明适用于基于各种通信方式的车用通信系统应用场景的开发、验证及商用重点在开发验证环节的参照价值。对开发方来说它是减少扯皮的技术依据对采购方来说它是验收时可以引用的条款。把它当法规去背方向就偏了。5.5 易混点五“第一阶段”被当成“初级版”易混点在于副标题里的“第一阶段”很容易被读成“功能比较简单的试用版”。为什么会混因为软件行业习惯了用版本号暗示成熟度。怎么区分这里的第一阶段指的是应用集合的推进批次不是技术成熟度。17 个应用是筛选出来的、场景明确、指标可验证的那一批能同时满足这三条的本来就不多。后续批次不是把这一批做得更高级而是往里加新的应用类型。所以看到“第一阶段”不要降低对它的重视程度——恰恰相反能被选进第一批的都是当下工程落地最迫切的场景。6. 什么时候该翻这份标准什么时候别指望它判断标准其实很简单你手上的问题是不是“两辆车、一辆车和一个路侧设备之间该交换哪些信息”。如果是这份文件能省掉大量反复沟通。举个具体例子某个团队要做车载单元上的前向碰撞预警第一步不该是写代码而是翻第 5 章找到前向碰撞预警那节把四个主要场景抄成测试用例特别是场景二那条“相邻车道前方停止不应预警”很多人会漏掉等上路测才发现误报率高得离谱。第二步翻第 6 章确认基本安全消息里哪些数据元素是判定同车道和算碰撞预计时间必需的。第三步翻第 7 章看应用层接口和服务提供接口的调用约定把数据流打通。三步走完功能和验收标准同时有了。场景适合翻这份标准不适合依赖它应用功能定义与场景设计场景、判据、误报边界都写清楚了具体车型的交互设计数据字段与编码约定消息集、数据结构、编码规则齐全底层无线链路参数性能指标参考定位精度、更新频率、时延有要求硬件选型与成本测算跨厂商互通联调接口规范可作为共同语言各家的实现细节与缺陷定位别指望它的地方也得说清楚。它不指定底层通信技术所以无线链路质量、覆盖范围、抗干扰这些问题它一概不管它不定义测试方法性能指标给了但怎么测、在什么场地测得另找依据它不涉及功能安全等级和信息安全机制交易类应用涉及的身份认证、防篡改这份文件只是开了个头。曾经有个团队拿着这份标准的性能指标去谈验收对方一句“测试环境和判定准则在哪一页”就把人问住了——指标是有的测法不在里面。我自己的习惯是每次启动一个涉及车路协同的功能先在白板上画出四个圈——谁在说话、说的是哪类消息、需要哪些数据元素、延迟预算是多少然后才去翻目录对号入座。顺序反了很容易被几十页字段定义带着跑看完一圈还是不知道自己要写什么。这份标准的价值不在于让你背下所有缩写而在于让你在动手之前就知道边界在哪、误报的坑有多深。希望帮到你。本文还有配套的精品资源点击获取