本文是RT-Thread用户@xiere 原创公布,是用于加入RT-Thread与国民技术联手推出N32G457 RT-Thread设计大赛,原文:https://club.rt-thread.org/as...

基于RT-Thread零碎和N32G457开发板开发的一款CAN网关;硬件局部由W5500以太网模块,2个VP23405MCAN收发器,N32G457主控板等组成;软件局部将一路高速CAN(CAN1控制器)与一路以太网作为网关输出,低速CAN(CAN2控制器)作为网关输入实现隔离收发数据性能。

硬件框架

硬件框架阐明:
如上图所示,硬件局部由W5500以太网模块,VP23405MCAN收发器1,N32G457主控板,VP23405MCAN收发器2等组成;其中:
W5500以太网模块:负责网关输出端网口数据收发性能,采纳SPI接口与主控通信,工作模式为TCPServer
VP23405MCAN收发器1:负责网关输出端高速CAN数据收发性能,通过主控板CAN1控制器进行管制
VP23405MCAN收发器2:负责网关输入端低速CAN数据收发性能,通过主控板CAN2控制器进行管制
N32G457主控板:负责网关输入输出端之间的通信协定转换
LED灯:用来批示网关数据输出状态以及运行状态,红灯500MS闪动示意网关运行失常,蓝灯闪动示意高速CAN有数据输出,绿灯闪动示意网口有数据输出

软件框架

软件框架阐明:
如上图所示,该我的项目软件架构次要采纳上图所示的几个线程实现,其中:
网口收发线程:负责将网口接管到的数据通过低速CAN收回
网口心跳包发送线程:负责检测客户端是否断开连接,并做好网口重连筹备
高速CAN收发线程:负责将高速CAN接管到的数据通过低速CAN收回
低速CAN收发线程:负责将低速CAN接管到的数据通过网口和高速CAN收回

作品残缺图片

成果演示视频地址:https://www.bilibili.com/video/BV1mS4y1g7tn/
代码地址: https://gitee.com/xiere/N32G457_Project/tree/master/rt-thread_CAN-gateway