![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
EVSE欧标直流充电桩PLC
记录欧标PLC通信部分的软件和硬件开发过程
大体方案:GF32F427+QCA7005+FreeRTOS+Lwip
peatree
这个作者很懒,什么都没留下…
展开
-
LWIP socket 编程非阻塞模式
socket编程一般都是阻塞模式,例如accept函数,connect函数,send函数,recv函数。这些函数都是阻塞模式,对于单片机来说,阻塞模式处理起来需要浪费一个任务,如果这几个函数是阻塞模式,那么需要再其他任务做超时和异常处理。显然会浪费任务数量,对于本来就不多的单片机内存资源就是雪上加霜。后续的accept函数 send ,recv,connect 函数都是非阻塞模式。方法1. 使用select函数和recv函数进行配合。方法2.使用 ioctlsocket函数设置非阻塞模式。原创 2024-04-23 17:23:28 · 693 阅读 · 0 评论 -
【SECC欧标直流充电桩PLC开发-超时机制】
从匹配成功到发送会话的间隔时间,这个超时时间是20S.EV需要在20秒之前发送Session setup。EVSE需要在18S之前建立好TCP端口。本文记录一下V2G通信的几个超时时间。便于后面做开发的时候进行时间评估。Authorities的认证的时间没有标注。可能会等很久,等多久呢?EVSE38S要做好CableCheck。EVSE需要在5秒内完成预充。原创 2024-03-29 10:41:26 · 503 阅读 · 2 评论 -
一文看懂欧标ISO-15118与DIN-70121区别
1.通俗的解释一下就是最早的版本是15118.是欧盟那边的标准最早版本是2010年的。比较荣幸的是DIN-70121在直流方面有了市场发展。PnC就是插枪充电,需要证书支持,这个涉及到证书的认证,15118有信令支持。70121只是一笔带过,作为可选项,有些信令里面的字段明确标注了不支持。6.据同行的消息,目前市场上支持70121的车辆比支持15118的车辆多很多。4.Smart Charge 就是智能充电,类似国网做的有序充电,他定义了一些限定功率的方案,这样充电调度起来更灵活。在链路层有了更多的选择。原创 2024-03-28 16:01:16 · 1832 阅读 · 0 评论 -
【EVSE欧标直流充电桩PLC开发-LWIP】续2-IPV6地址分配
按照IPV4的设想,两个局域网内的IPV4主机必须在同一网段才能正常通信。15118说的很清除 了。EVCC要实现DHCPV6的客户端。EVSE要实现DHCPV6的服务器。接下来,又提到了SLAAC。所以IPV6必须实现此功能。配置参考前一篇移植文档。已经非常明确了,难道我需要用lwip实现DHCPV6的服务端?不知道lwip有没有实现此功能。如果有了DHCPv6,那么EVCC和EVSE就可以正常再局域网通信了。又得去啃RFC3484。所以标准说,参考RFC3484。再去查看15118的相关描述。原创 2024-03-28 14:30:28 · 356 阅读 · 0 评论 -
【EVSE欧标直流充电桩PLC开发-移植操作系统freeRTOS】
本人在此踩坑,因为GD32官方的库没有FreeRTOS相关的例程。国产芯片相支持你真的不容易啊!2.FreeRTOS的config文件需要注意configTOTAL_HEAP_SIZE 否则可能导致内存不足。1.port文件选择CM3文件夹下面的.选择CM4下面的编译不通过。3.中断需要设置优先级组,否则导致中断无法post信号量。原创 2024-03-20 17:22:38 · 382 阅读 · 1 评论 -
【EVSE欧标直流充电桩PLC开发-LWIP】-IPV6续
使能编译不通过,还需要使能以下的宏定义。原创 2024-03-20 16:58:16 · 394 阅读 · 0 评论 -
GD32F4外部中断无法进入的问题
这个时钟没有打开会导致无法进入中断。原因是GD32F4外接PLC芯片,PLC芯片有一个接收引脚。需要使用外部中断进行数据的接收。1.用示波器看到底是上升沿触发还是下降沿触发。记录GD32F4外部中断无法进入。2.两个外设的时钟需要打开。原创 2024-03-20 16:48:28 · 355 阅读 · 0 评论 -
【EVSE欧标直流充电桩PLC开发-LWIP】
1.lwipopt.h 文件如下:这个是成功的关键,要控制lwip的内存在15kb左右。否则可能导致芯片内存不够。下文针对lwip移植介绍。原创 2024-03-19 17:17:04 · 566 阅读 · 0 评论 -
【SECC欧标直流充电桩开发-硬件方案PLC】
但是芯片提供的实列代码都是linux平台的原始套接字,这点得单独修改。使PHY芯片的数据能够正常的移交给lwip的网路层。如果使用linux平台,单独的带内存管理的芯片和内存可能价格不菲。单独的使用lwip应用层编程好像没有提供原始套接字方面的,可能本人对这方面不太熟悉,熟悉的朋友可以一起探讨。4.link up 的操作表明有节点加入到网络,这个时候IPV6会自动ARP所有节点,在路由缓存里面把EV的IP地址给锁定到,否则可能无法进行后续的TCP操作。不需要单独的内存管理的MCU和内存芯片。原创 2024-03-19 16:57:13 · 761 阅读 · 3 评论 -
【SECC欧标直流充电桩PLC开发-充电交互流程】一文看懂
1.握手 handshake,类似TLS的handshake。双方协商版本号和支持的版本。2.进入会话,此时用的TCP连接不变。4.认证方面,和OCPP2.0挂钩,有证书方面的认证。3.收费相关的,以后和OCPP2.0要挂钩。6.电力传输 类似 CRO报文。8.预充,类似GBT27930的预充那一段。7.接触器外侧电压检测,开始绝缘检测。10.充电结束相关检测,电压是否关闭。类似BCL,BCS。5.充电参数确认,类似BCP报文。11.会话关闭,TCP关闭。2.服务发现,跟收费相关。看下面这张图就够清楚了。原创 2024-03-19 16:21:12 · 1495 阅读 · 0 评论 -
【SECC欧标直流充电桩PLC开发-15118协议】一文看懂
目前国内的欧标EVSE开发不多。主要都是使用RKN的方案,主要原因还是因为欧标直流充电桩量太少了。7.就是物理层,用到哪个PHY芯片就招对应的资料协议。15118-3是链路层方面的,用的是电力载波。软件的同学无需关心。15118很庞大,跟电力规约61850也是一样的存在。15118-5是物理层相关的,软件的同学无需关心太多。2.SDP就是发现服务,用的是UDP多播。主要涉及的是协议栈开发。3.EXI就是XML的解析器,有库支持。15118-8是无线方面的,目前不要看。15118-2是说应用层协议方面的。原创 2024-03-19 16:06:22 · 1684 阅读 · 0 评论