当前位置: 首页 > news >正文

DIN70121协议解读

1、概述

        DIN70121标准是基于ISO15118-2前身,用于EVCC和SECC之间通信

2、OSI分层体系

        EVCC和SECC的整个通信过程,是基于OSI分层体系去建立的

3、通信帧嵌套

       首先,知道一个概念叫做帧嵌套,拿SessionSetupRes举例:

1、最上面的那层只是wireshake抓包说明,表示该帧数据的抓包时间、标识等帧信息

2、观察图2的分层结构,可以看到如下:

第一层:Ethernet II,以太网帧,用于 Data Link  层数据封装

第二层:Internet Protocol Version 6,IPV6帧,Network 层封装

第三层:Transmission Control Protocol,TCP帧,Transport 层封装

第四、五层:V2G Transfer Protocl、V2G Message,都是V2G帧,可以同属于Session 层、Presentation层、Application层,这里的分层概念较模糊。

Session层:会话层,也就是V2G会话

Presentation层:表示层,V2G的报文会打包成 XML 格式,并进行 EXI 压缩

Application层:应用层,用户应用数据帧交互层,也就是 V2G 报文了

3.1、HomePlug AV   举例说明

        第1层表明该帧基于以太网帧(数据链路层的封装),再上层就是HomePlug AV,然后点击如图,可以清晰看到帧数据确实是嵌套的。

3.2、supportedAppProtocolReq 举例说明

        如下图,可以清晰看到 supportedAppProtocolReq帧是基于以太网帧、IPV6、TCP、V2G的嵌套结构

4、分层解析

        接下来,解析每一层的作用

4.1、Physical层

4.1.1、基础通信

        遵循  IEC61851-1,基于CP信号、PWM信号

4.1.2、高级通信  HLC:HomePlug Green PHY

1、在 ISO15118 / DIN70121 的物理层中,车与桩之间的通信就是基于 HomePlug Green PHY 技术的 PLC,利用充电电缆的电力线来做数据传输。

2、HomePlug Green PHY(简称 GP)是一种窄带低速的电力线通信(PLC, Power Line Communication)标准。

3、它是 HomePlug AV 系列的一个低功耗、低速衍生版本,主要用于智能电网、智能家居、EV充电等场景。

4、HomePlug Green PHY 属于窄带 PLC 技术的一种实现

5、PLC 技术分类:

1、窄带 PLC(NB-PLC)

        1、用载波在几十 kHz 到几百 kHz 范围调制信号。

        2、速率较低(几 kbps 到几百 kbps)

2、宽带 PLC(BB-PLC)

        1、频率范围可到几 MHz(通常 2–30 MHz)

        2、速率可到几十到几百 Mbps。

HomePlug Green PHY 虽然名字叫 Green(节能),实际上继承自 HomePlug AV 的宽带调制技术(OFDM),只是降低速率和功耗,仍然在 2–30 MHz 高频段工作,属于 宽带PLC,但速率低很多(≈10 Mbps)。

⚠️ 注意,它并不是传统的窄带载波(NB-PLC),而是低速化的宽带PLC。

6、多载波正交频分复用(OFDM)调制 原理简述:

1、在充电电缆的电力线上叠加一个高频交流信号(位于 2–30 MHz 的频带)。

2、通过 OFDM 技术,把这个频段分成若干“子载波”(每个子载波本质是一个正弦波)。

3、在每个子载波上用调制方式编码数据(如 QPSK, 16-QAM)。

4、所有子载波叠加,就形成了一种看似噪声的宽带信号。

4.2、Data Link层

4.2.1、建立SLAC流程:

1、双方初始化

        EVCC、SECC各配置一个Green Phy 节点,EVSE若有多个枪头,即多个SECC(也就多个Green Phy 节点)

2、SECC 发送广播

        如图,可以看到SECC在持续发送Home Plug AV协议帧的广播包,包含信号强度等信息

3、EVCC 发现SECC

        EVCC监测 到SECC 的广播包,并根据 SECC的 Green Phy 节点的信号强度,并决定与哪个SECC的 Green Phy  建立连接(SLAC连接请求)

4、EVCC 发起 SLAC 请求

5、SECC响应 EVCC 的SLAC请求

6、匹配认证

匹配过程,会监测双方信号强度、协商其他信息,保证接下来的通信稳定

7、匹配验证通过,SLAC建立成功

4.3、Network层

        当SLAC建立成功后,就到网络层发力了。对于GD单片机来说,需要移植  LWIP协议栈  来实现网络层相关的功能。

4.3.1、ICMPv6的作用

1、邻居发现(Neighbor Discovery Protocol, NDP)

        Neighbor Advertisement (NA):回应自己的 MAC 地址。

        Neighbor Solicitation (NS):询问某个 IPv6 地址的 MAC 地址是谁。

2、地址自动配置

        使用 ICMPv6 的 Router Solicitation 和 Router Advertisement,EVCC、SECC都可以自动生成并确认自己的 Link-Local IPv6 地址

3、网络诊断

        Ping (Echo Request/Echo Reply) 在 IPv6 中是 ICMPv6 消息类型,调试链路时用这个确定 EVCC 和 SECC 通不通。

4.3.1、SDP的作用

1、EVCC 发送 UDP 多播探测包

        1、目的 IPv6 多播地址(例如 FF02::1 或专用的 ISO15118 SDP 地址)

        2、目的端口:15118(应用层端口,不是随机的)

        3、包内定义了自己希望查找的服务类型(充电服务)

2、SECC 收到多播,返回 SDP 响应

        1、响应还是通过 UDP 发回 EVCC(通常单播回车的 IPv6 地址)

        内容包含:

                1、SECC 的 IPv6 地址

                2、服务端口(通常 TCP 443 或标准定义)

                3、支持的协议版本 (ISO15118-2, DIN70121 等)

                4、其他可选参数(安全模式、授权类型)

3、EVCC 解析 SDP 响应

        1、确定要连接的地址和端口

        2、选择匹配的协议版本

        3、准备进入 TCP/TLS 握手阶段(即 ISO 15118 Application层)

4.3.1、拿SECC端,举例说明

1、LWIP初始化后,自动配置  Link-Local IPv6,地址为:ICMPv6 Option (Source link-layer address : 14:1f:ba:19:01:a8)

2、SECC做Server端,配置  TCP的socket、UDP的socket

3、EVCC做Client端,配置  TCP的socket、UDP的socket

4、EVCC发起SDP请求(UDP帧)

包含内容为协议版本、TLS是否

5、SECC收到SDP请求后,已经知道对方的IPv6地址,此时SECC发起 NS,请求查询EVCC的MAC地址,MAC地址用在以太网帧,这一步是必须的

6、EVCC回复 NA,告诉SECC,EVCC的MAC地址

7、SECC响应EVCC SDP请求(UDP帧)

        告知EVCC,SECC的IPv6地址、port、以及使用协议

8、三次握手建立TCP

        如图所示,EVCC发起三次握手,建立TCP链路;当TCP链路建立成功后,后续不需要再进行三次握手,只需要发送---确认的TCP流程

4.4、Transport层

        UDP帧、TCP帧的通信,属于传输层内容。上述网络层中,UDP帧、TCP帧是属于传输层的。网络层和传输层的实现,依靠LWIP协议栈的库,socket相关的内容,本王其他篇章有写socket相关代码

4.5、Session层

        会话层,也就是交互V2G报文的这一层

4.6、Presentation层

        表示层,可以抽象理解为:在V2G报文中,V2G报文的内容,封装成XML格式,并进行EXI压缩,以如此格式的内容传输。换句话也可以说,以如此格式的内容表示给对端

如下图所示,V2G TP是HEX,V2G Message XML 格式并 EXI 封装后的HEX

4.7、Application层

        应用层,也就是最上层用来交互用户数据的一层。对于 EVCC 和 SECC(用户),交互的数据就是V2G报文。其实,会话层、表示层、应用层这三层并不能分开单独拆开,总得来说应该合并归类为应用层,用来交互V2G报文的

5、V2G报文结构

        首先,V2G报文结构:V2G TP  +  V2G  Message

举例如下图所示:

5.1、V2G TP

5.2、V2G Message

        V2G Message 的内容是XML格式、EXI压缩的。举例如图所示,XML、EXI等知识这里不赘述。通信方式是EVCC发起请求Req,SECC响应请求Res

 V2G Message 结构如下:

Header 结构如下:

       注意:不同的V2G报文,body内容不同。严格意义上,supportedAppProtocolReq、supportedAppProtocolRes不属于V2G报文,其结构:V2G TP  +   独特的V2G Message,与上述  V2G Message 结构不一样,后续细说。

        这里提下如下的MetaData 元数据,这里只是EXI压缩后的元数据的内容解释,真正的V2G Message是MetaData下面的V2G Message那部分内容

6、supportedAppProtocol 报文

        在准备进行V2G报文交互前,需要先确定双方采用哪种V2G协议标准,如 DIN70121、ISO15118-2、ISO15118-20.....因此 supportedAppProtocol 报文,严格上不属于V2G报文范畴内其结构为: V2G TP  +  独特的V2G Message

1、supportedAppProtocol   V2G TP:跟其他V2G 报文的 V2G TP 一样

2、supportedAppProtocol   V2G Message  下文分别细说

6.1、supportedAppProtocolReq

        EVCC 发起 supportedAppProtocolReq,请求协议支持,询问SECC要选哪种协议。其V2G Message 结构如下:

注意:具体的参数含义,看标准吧,不一一说明解释了(偷懒了)

6.2、supportedAppProtocolRes

        SECC告知EVCC,选择哪种协议。其V2G Message 结构如下:

7、V2G报文

        在确定选用 DIN70121 协议标准后,接下来就是进行 V2G 流程了

7.1、SessionSetupReq

        如下图,EVCC 发起 SessionSetupReq,请求 V2G会话 建立,其报文结构也就是  第5章  说的。举例如下

7.2、SessionSetupRes

        如下图,SECC 响应请求,回复 SessionSetupRes,允许 V2G会话 建立,其报文结构也就是  第5章  说的。举例如下

7.3、其他

        以后有空再说,其他的看DIN70121标准就好了

8、正常充电流程

        DIN70121完整的充电流程,其内容部分是包括  IEC61851 - 23的,其实主要是就是PWM波、CP电压等等。

8.1、V2G流程前

8.2、V2G流程

8.3、预充阶段

        预充阶段逐步抬升EVSE的输出电压,直到与电池电压偏差小于20V的时候,才允许闭合继电器,根据IEC61851-23标准要求

8.4、其他

        流程仅供参考,更多内容请参考  IEC61851-23  and  DIN70121,please!!!

9、会话定时

        SECC、EVCC都有一个  Msg_Timer、一个  Sequence_Timer,以及相应的性能时间、超时时间。性能时间我的理解就是你响应得多快、执行得多快,就是性能时间了;超时时间没啥好说的,就等待超时呗。

 

        其次就是具体的超时时间、性能时间怎么去计算的,好好看下如下图所在的这一章节就好了,本王偷懒了,没空细说。

10、异常处理

        上面说到正常充电的流程,那异常处理.......当EVCC异常也好,SECC异常也好,相应的处理查看如图所在章节吧。比如说  EVCC 监测到异常,如红色框图的处理方式.......好了,自己看标准吧,偷懒加N。。。

11、IEC61851-23

        前面说了很多次要参考  IEC61851-23,如下图的这些地方一定要多看,其实我也很多没看仔细的,一起看吧。。。。

http://www.dtcms.com/a/466459.html

相关文章:

  • 网站优化软件常用python编程软件
  • 软件的设计原理
  • petri网学习笔记——(五)第二章 petri网的动态性质
  • 长兴网站制作公司wordpress tag优化
  • Spring Bean 生命周期详解:初始化与销毁方式对比与实践
  • 做交易网站什么开发语言网络工程师
  • DeviceNet 转 Modbus TCP 协议转换在 S7-1200 PLC化工反应釜中的应用
  • 网站建设公司网络服务学美工难吗
  • S29-昆仑触屏串口批量写应用
  • C# 委托(Delegate)
  • 企业单位网站建设内容需要什么saas电商建站系统
  • 【63】OpenCV C++实战篇——用C++实现的直线卡尺工具--自选找线方向(从左到右、从右到左、从上到下、从下到上)
  • 做网站你们用什么浏览器如何免费建立个人网站
  • 《金钱心理学》读后感
  • 临沂网站设计建设wordpress 下拉菜单设置
  • PyTorch Transformers| Azure
  • 2.c++面向对象(二)
  • 苍穹外卖-Apache ECharts与数据统计
  • 合肥企业建站系统wap网站浏览器
  • python进阶_Day4
  • 网站开发小图标大全wordpress显示当前位置
  • 江苏建设信息网站有时候打不开网站建设客户问题
  • .Net Core WebApi集成Swagger
  • 趣味学网工:IPv6是连接未来的数字基石(IPv6的技术地位、重要作用、市场行情、应用场景等)
  • Linux 基本入门
  • 用ClaudeCode完善我的项目
  • 开源系统网站爱游戏app下载官方网站
  • SPA路由回退机制解析:解决History模式下的404问题
  • 边界感知分治:基于扩散模型的无监督阴影去除方案
  • 传输介质的简介